[gelöst] Problem mit QDockWidget

Alles rund um die Programmierung mit Qt
Antworten
N¤X
Beiträge: 77
Registriert: 21. September 2009 12:24

[gelöst] Problem mit QDockWidget

Beitrag von N¤X »

Hallo,
ich habe schon Programme mit QMainWindow und QDockWidget geschrieben, und bisher hat auch immer alles schön funktioniert.
Vor kurzem hab ich aber Qt von 4.4.3 auf 4.5.2 geupdated (neue Version dazuinstalliert) und ein neues Projekt gestartet, bei dem ich jetzt QDockWidgets einbinden will. Das Problem ist: sobald ich manuell ein DockWidget aus seiner DockArea hole (also wenn es floated) kann ich es nirgends mehr andocken. Wenn ich das Projekt mit 4.4.3 compiliere funktioniert alles normal, nur bei 4.5.2 nicht. Das DockWidgets Example von Qt tut allerdings komischerweise (auch wenn ichs nochmal selbst kompiliere), obwohl ich eigentlich nicht wirklich was anders mache...
Ach ja, wenn ich noch eine Toolbar mit einbaue dann kann ich erstmal auch keine DockWidgets andocken lassen, bis ich die Toolbar einmal aus und wieder ein docke, danach funzt das Docken von Dockwidgets endlich. Lass ich die ToolBar weg docken die DockWidgets garnicht. :/
Hier mal ein bisschen Code, is aber alles nur Standard:

Code: Alles auswählen

class MainWindow : public QMainWindow {
   ...
   private:
      QDockWidget* imagesDock;
   ...

Code: Alles auswählen

MainWindow::MainWindow() {
   setWindowTitle(tr("Title"));

   centralWidget = new QWidget;
   setCentralWidget(centralWidget);

//   createActions();
//   createMenus();
//   createToolBar();
   createDocks();
}

void MainWindow::createDocks() {
   imagesDock = new QDockWidget(tr("Images"), this);
   imagesDock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
   imagesList = new QWidget();
   imagesDock->setWidget(imagesList);
   addDockWidget(Qt::LeftDockWidgetArea, imagesDock);
}
Muss man seit 4.5 irgendwas ein bisschen anders machen, was ich übersehen hab, oder hatte schon mal jemand ein ähnliches Problem?
PS: Win32 und MinGW

Edit:
Problem gelöst. Das CentralWidget vom MainWindow enthält zwei Widgets die beide ne Minimum Size von (256, 256) haben. Beim initialisieren wird alles so klein gezeichnet, dass die Widgets grad noch reinpassen, aber wenn das Dockwidget erstmal ausgedockt wurde bleibt nicht genug Platz um es wieder einzudocken (dafür wird wohl minimal mehr Platz gebraucht seit Qt 4.5 Oo). Also wenn ich mein Fenster einfach ein bisschen vergrößer kann ich die Docks plötzlich wieder docken. -_-
Antworten