中,如何通過代碼將窗口小部件(比如QLabel)添加到FormWindow中? 由於像createWidget()等方法都是抽象的,我如何正確使用內部機制將QLabel添加到活動的FormWindow中?如何在qdesigner_workbench.cpp中將窗口小部件添加到QtDesigner中的窗體
編輯:
在qdesigner_workbench.cpp,這是目前我有:
QDesignerFormWindowManagerInterface* fwm = core()->formWindowManager();
QDesignerFormWindowInterface* fw = fwm->activeFormWindow();
QWidget* mw = fw->mainContainer();
QLabel* label = new QLabel(mw); //can be added correctly but not in the right hierarchy
label->setText("I am a good girl.");
兆瓦(從FW-> mainContainer上()獲得)實際上是一個主窗口,然而真實數據我需要的是:
mw -> children[2] (which is a QDesignerWidget) -> children
有9個小部件在設計器中,你可以看到有9個數組在上面提到的兒童;看到這個鏈接(一個圖片)的插圖。
http://img24.imagevenue.com/img.php?image=98871_a_122_476lo.jpg
所以...我該如何正確添加QLabel部件? 同時嘗試
QLabel* label = new QLabel(fw); // will be a sibling of MainContainer, which is the QMainWindow (mw) in this case
QLabel* label = new QLabel(mw); // will be a sibling of QDesignerWidget
和顯然任一作品。
哇,這很快。明天將在工作中檢查:) – purga