Qt模态界面设置setWindowModality禁止其他界面响应
生活随笔
收集整理的這篇文章主要介紹了
Qt模态界面设置setWindowModality禁止其他界面响应
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、模態與非模態
模態:啟動模態界面時,例如彈出對話框強制用戶從其他正在進行的業務中聚焦到當前對話框,除了該對話框整個應用程序窗口都無法接受用戶響應,無法切換界面,無法切換當前Qt應用。這可以保證用戶按照自己設計的操作邏輯進行動作。只有關閉和退出該模態界面,才可以訪問本應用程序的其他界面和功能。
非模態:與模態相反,默認狀態為非模態,即可以隨意切換,可以在同一應用下的各個窗口界面任意切換。
半模態:介于二者之間,凍結窗口界面,但其他應用繼續執行響應。
二、使用方法
Qt中的QWidget對象自帶setWindowModality(type)方法,用以設置窗口模態類型。
參數type可選為一下三種:
三、代碼示例
void MainWindow::on_toolButton_NewWidget_clicked() {Widget_ui *new_ui = new Widget_ui(this);//創建新界面窗口new_ui->setWindowModality(Qt::ApplicationModal);//設置模態connect(new_ui,&new_ui->Tx_NewSig,this,&MainWindow::Rx_NewSig);//綁定當前界面的信號槽new_ui->show();//顯示當前新創建的界面窗口 }?
總結
以上是生活随笔為你收集整理的Qt模态界面设置setWindowModality禁止其他界面响应的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HackTheBox -- RedPan
- 下一篇: 从零开始学android