qt全屏實現與恢復
阿新 • • 發佈:2018-12-31
全屏關鍵程式碼如下:
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);
}
}
}
}
完畢!