2014-01-24 60 views
1

我正在使用QMainWindow進行我的項目的GUI開發..我遇到的一個問題是阻止所有其他可見窗口獲取輸入,而一個正在運行。如何將QMainWindow設置爲模態?

我不能使用QDialog。因爲QMainWindow的豐富功能是必需的。

我該如何聲明特定窗口爲模態?我試過QWidget::setWindowMOdality()

這是一個演示程序,我試過了,但沒有奏效。

#include <QApplication> 
#include <QMainWindow> 
#include <QPushButton> 




int main(int argc, char **argv){ 


QApplication a(argc, argv); 


    QMainWindow *w1 = new QMainWindow(); 
    w1->resize(500,800); 
    w1->move(100,50); 
    w1->show(); 


    QMainWindow *w2= new QMainWindow(); 
    w2->resize(800,500); 
    w2->move(50,50); 
    w2->show(); 

    w2->setWindowModality(Qt::ApplicationModal); 


    return a.exec(); 

} 

回答

4

嘗試先設置模態標誌,然後顯示小部件。

w2->setWindowModality(Qt::ApplicationModal); 
w2->show(); 

你也可以使用QWidget並建立工具欄,菜單欄和狀態欄。

+0

很好,沒錯,謝謝+1 –

相關問題