Qt 全屏与 Esc

lizhenneng
  • 将要全屏的QT主窗口中的子窗口调用函数setWindowFlags(Qt::Dialog),然后调用showFullScreen()将子窗口全屏显示,也就是先将子窗口设为顶级窗口,然后全屏显示,因为showFullScreen()只对顶级窗口有效;
  • 如要还原为普通窗口,调用setWindowFlags(Qt::subWindow)将子窗口设为非顶级窗口,再调用showNormal()还原子窗口正常显示。

自己实验了下,自己只需要将主窗口全屏与退出

       全屏用到

      w.showFullScreen(); //全屏


按esc 退出时只要重写程序keyPressEvent的事件

protected:
void keyPressEvent(QKeyEvent *event);

void S10::keyPressEvent(QKeyEvent *event)
{
    // 响应Esc键以退出程序
    if (event->key() == Qt::Key_Escape)
    {
       showMaximized();  //窗口最大化
    }
}

你可能感兴趣的:(dialog,qt)