2013-10-28 37 views
2

我面臨的一個問題,我一直在使用的QMainWindow是具有工具欄,&狀態條創建的應用程序。現在我必須將此應用程序添加到另一個從另一個QMainWindow派生的應用程序。現在我想在主窗口中有我的主窗口。如何做到這一點,我們可以有另外的QMainWindow QMainWindow的內部或一個QWidget裏面? 請幫我。如何一個QWidget裏面使用的QMainWindow?

+0

所以裏面,你想從你的應用程序中打開一個新窗口?如果是這樣,你可以按照以下的職位,他們幫助了我很多在實現這一目標: http://247jules.wordpress.com/2010/08/15/how-to-open-a-new-window-in-qt/ http://stackoverflow.com/questions/1518317/how-to-show-another-window-from-mainwindow-in-qt –

+0

「內部」,如具有兩個獨立的主窗口,或真嵌套在主窗口另一個窗口? –

+0

我想要一個主窗口中的嵌套主窗口。 – user2893054

回答

0

您可以使用此:

void QApplication::setActiveWindow(QWidget * active) 

設置窗口小部件(主窗口)爲主要窗口。

2

我會寫這樣的:

QMainWindow的另一QMainWindow的

QMainWindow *mainWindow = new QMainWindow; 
QMainWindow *subWindow = new QMainWindow(mainWindow); 
// .. some configuration 
mainWindow->setCentralWidget(subWindow); 

的QMainWindow內的一個QWidget

QWidget *mainWindow = new QWidget; 
QMainWindow *subWindow = new QMainWindow(mainWindow); 
// .. some configuration 
QHBoxLayout *layout = new QHBoxLayout; 
layout->addWidget(subWindow); 
mainWindow->setLayout(layout); 
+0

對於任何chancing這一點,你可能想也有'subWindow-> setWindowFlags(QT ::小部件);','QMainWindow'默認情況下有其窗口標誌爲'的Qt :: Window'這可能會導致一些瑣碎的問題。 – iKlsR