Seite 1 von 1

qdockwindow & qhboxlayout

Verfasst: 28. Mai 2007 22:06
von qtagent
hi

ich habe mit dem qt-designer ein QMainWindow mit einiegen widgets gebaut, davon drei QToolButton's die mittels "Lay Out Horizontally" durch ein HBox layout umrahmt sind und ein QListView.
soweit ich weis ist ein QDockWindow nicht mit dem qt-designer realisierbar :shock:, weshalb ich es manuell erstellt habe, wobei die drei QToolButton's im HBox layout oben links des QDockWIndow sein sollten und das QListView unterhalb den drei QToolButton's bzw. des HBox layout.
dass mit dem QListView hab ich hinbekommen :), doch das mit den drei QToolButton's im HBox layout nicht :(, ich weis nicht wie ich das HBox layout in das QDockWindow hineinbringe :?:.

hier mein aktueller code:

Code: Alles auswählen

unsigned char form::init(void){
	...
	tree=new QDockWindow(this);
	tree->setCaption(QTranslator::tr("tree"));
	tree->setCloseMode(QDockWindow::Always);
	tree->setOrientation(Qt::Vertical);
	tree->setResizeEnabled(true);
//	fehlende QToolButton im HBox layout code... :?:
	treeListView->reparent(tree,tree->geometry().topLeft());
	tree->boxLayout()->addWidget(treeListView);
	addDockWindow(tree);
	...
}
im attachment ist ein bsp. bild, wie das am ende aussehen soll.

thanks

qtagent

Verfasst: 28. Mai 2007 22:51
von upsala
Probier doch mal ein solches Layout im Designer zu erstellen. Diesen Code kannst du dann als Vorlage für dein QDockWidget verwenden.

Verfasst: 28. Mai 2007 22:58
von qtagent
hi

die QToolButton's im QHBox hab ich ja im qt-designer hinbekommen (Lay Out Horizontally), nur weis ich net wie ich das QHBox (wo ja die drei QToolButton's drinn sind) in das QDockWindow hinein bekomme.

beim obigem bild, "sample" hab ichs mittels einem QFrame bemacht, also die drei QToolButton's in ein QFrame eingefügt und durch:

Code: Alles auswählen

	treeFrame->reparent(tree,tree->geometry().topLeft());
	tree->setWidget(treeFrame);
ins QDockWindow hineinbekommen. doch wäre es gut, wenn es ohne QFrame geht, also hab ich QFrame entfernt und die QToolButton's eben mittels "Lay Out Horizontally" in ein QHBox layout eingefügt. doch wie kommt so ein HBox mit den QToolButton's inne in das QDockWindow rein? ein reparent gibts ja bei QHBox net :(

im qt-designer wird das QHBox layout wo die drei QToolButton's drinne sind als QHBox angezeigt, im source code als QHBoxLayout.

INFO! ich benutze: freebsd 6.2, kdevelop 3.3.4 und c/c++ mit qt 3.3.6.

thanks

qt agent

Verfasst: 29. Mai 2007 17:33
von Zandru
bau doch einfach dein dockwidget als eigenes Widget im Designer, und setze das fertige Widget dann als dockwidget.