• 1562阅读
  • 1回复

[提问]ui中让某个QWidget区域全屏后退出全屏的实现 [复制链接]

上一主题 下一主题
离线651471519
 

只看楼主 倒序阅读 楼主  发表于: 2020-06-17
回复本帖可获得1RMB金钱奖励!
每人最多可获奖1次,奖池剩余5RMB金钱 (中奖几率10%)



  如图点击 max  按钮后,左边区域全屏显示,按照网上的方法代码如下:
  1. void frommain::on_BtnMax_clicked()
  2. {
  3.     ui->videowidget->setWindowFlag(Qt::Window); //Window
  4.     ui->videowidget->setWindowFlag(Qt::FramelessWindowHint);  //去边框
  5.     ui->videowidget->showFullScreen();  
  6. }



然后绑定ESC按键,进行退出全屏:退出代码如下:
  1. void frommain::keyPressEvent(QKeyEvent *event)
  2. {
  3.     if(event->key()==Qt::Key_Escape)
  4.     {
  5.           qDebug() << "esc down!" <<endl;
  6.           ui->videowidget->setWindowFlags(Qt::SubWindow); //SubWindow
  7.           ui->videowidget->showNormal();
  8.     }
  9. }


实验结果: 按 " max " 确实能进入全屏,全屏后 按ESC 完全没有反应啊,ALT+F4 强制退出后,主界面Qwidget部分 不见了





离线651471519

只看该作者 1楼 发表于: 2020-06-17
源码在这里 demo4.zip (5 K) 下载次数:2
快速回复
限100 字节
 
上一个 下一个