子窗体全屏显示及恢复

本文介绍了在Qt5中如何实现子窗体的全屏显示及恢复,包括showNormal()、resize()和布局设计三种方法。特别提到,通过布局设计能避免全屏后大小恢复的问题,提供更好的用户体验。
摘要由CSDN通过智能技术生成

子窗体全屏显示

之前做过视频播放器实战,其中遇到过一个问题:全屏播放视频的问题,当时是通过隐藏其他的所有组件,让播放视频的label沾满整个主窗口来进行实现,虽然可以实现想要的效果,但是这种方式其实非常笨,因为如果组件或者容器太多,一个一个的隐藏、恢复显示是非常麻烦的。
因此想直接使用如下方式:
1.将显示的QLabel组件放入字窗体QWidget中。
2.修改子窗体类型为Qt::Dialog,并进行全屏显示

    ui->widget->setWindowFlags(Qt::Dialog);
    ui->widget->showFullScreen();
    ui->widget->layout()->setMargin(0);

子窗体恢复

1.将该窗体恢复类型为Qt::SubWindow
2.调用show方法(如果不调用会被隐藏)

    ui->widget->setWindowFlags(Qt::SubWindow);
    //还原为子窗口模式后需要调用show方法,否则会不显示
    ui->widget->show();

注意:在这里会有一个问题,还原为子窗体后显示,可能会出现大小的问题(即大小不能恢复到原来的大小)
有三种解决方式:

方式一:showNormal()

先调用ui->widget->showNormal(),这样就会还原为原来的大小。

   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值