1. 程式人生 > >qt全屏實現與恢復

qt全屏實現與恢復

全屏關鍵程式碼如下:

QRect rect0;

rect0 = ui->offFullScreenWidget->geometry();//記錄widget位置,恢復時使用

ui->offFullScreenWidget->setWindowFlags(Qt::Window);

ui->offFullScreenWidget->showFullScreen();

以esc按鍵恢復為例:

首先註冊捕捉事件:ui->offFullScreenWidget->installEventFilter(this);

處理函式如下:

bool xxx::eventFilter(QObject *obj, QEvent *ev)
{

    if(ev->type() == QEvent::KeyPress){

            if(obj == ui->offFullScreenWidget){

                if(event->key() == Qt::Key_Escape){
                    ui->offFullScreenWidget->setWindowFlags(Qt::SubWindow);
                    ui->offFullScreenWidget->showNormal();
                    ui->offFullScreenWidget->setGeometry(rect0);

                }

            }

    }

}

完畢!