в qdesigner_workbench.cpp, как я могу добавить виджет (скажем, QLabel) в FormWindow по коду?
Поскольку все методы, такие как createWidget () ... и т. Д., Являются абстрактными, как правильно использовать внутреннюю механику для добавления QLabel в активное FormWindow?
EDIT:
В 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.");
mw (полученная из fw-> mainContainer ()) на самом деле является MainWindow, однако реальные данные, которые мне нужны, находятся в:
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
и, по-видимому, любая из работ.