Qt笔记(六十三)之Qt实现窗口以及控件的全屏效果

104 篇文章 120 订阅

一.前言
面对大屏操作的时候,经常需要全屏效果查看,楼主也是遇到相关的需求,于是记录分享一下

二.全屏实现
1.顶级窗口的全屏与恢复,顶级窗口的全屏和回复都很简单,直接调用简单的接口即可

void GraphicsViewDemo::on_pushButton_1_clicked()
{
    showFullScreen();
}

void GraphicsViewDemo::on_pushButton_2_clicked()
{
    showNormal();
}

2.非顶级窗口(子控件)的全屏与恢复操作
2.1showFullScreen()以及showNormal()只对顶级窗口的起作用,所以不能直接用上面的接口来进行操作,楼主这里采用的思路是:将子控件的parent设置为空,使之成为一个独立的控件, 然后再调用showFullScreen接口

    ui->groupBox->setParent(nullptr);
    ui->groupBox->showFullScreen();

恢复的话,采用的思路的话,将子控件设置为子控件,然后调用showNormal(),然后再把子控件加入到原来的布局中去,不然会出现两个窗口

    ui->groupBox->setWindowFlag(Qt::SubWindow);
    ui->groupBox->showNormal();
    this->layout()->addWidget(ui->groupBox);

三.踩坑记录showFullScreen
1.网上分享的子控件思路:将子控件设置为顶级窗口,然后再showFullScreen,恢复就是将子控件设置为SubWindow,然后再showNormal,这种方式恢复的时候,会变成两个窗口,子控件会独立的窗口,楼主的这个方式解决了这个问题

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值