dans qdesigner_workbench.cpp, comment puis-je ajouter un widget (par exemple QLabel) dans un FormWindow par code? Puisque les méthodes comme createWidget() ... etc sont toutes abstraites, comment puis-je utiliser correctement la mécanique interne pour ajouter QLabel dans la fenêtre active FormWindow?comment ajouter un widget dans le formulaire Dans QtDesigner
EDIT:
En qdesigner_workbench.cpp, c'est actuellement ce que j'ai:
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.");
Le mw (obtenu à partir FW-> mainContainer()) est en fait un MainWindow, mais les données réelles J'ai besoin dans la section:
mw -> children[2] (which is a QDesignerWidget) -> children
Il y a 9 widgets dans le concepteur, et vous pouvez voir il y a 9 tableaux chez les enfants mentionnés ci-dessus; voir ce lien (une image) pour l'illustration.
http://img24.imagevenue.com/img.php?image=98871_a_122_476lo.jpg
Alors ... comment puis-je ajouter correctement le widget QLabel? Essayé les deux
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
et apprarently ou l'autre des œuvres.
wow c'est rapide. va le vérifier demain au travail :) – purga