Moin moin!
Ich versuche mit Hilfe des QtDesigners in einem MainWindow ein QDockWidget zu erstellen. Leider schaffe ich es nicht, dass ich
a) das Widget mit der Maus herauslösen kann
b) wenn ich es herausgelöst habe, es nicht bewegen kann.
Wie muss ich vorgehen damit es klappt?
Ich würde das ganze gerne mit QtDesigner machen, da ich sehr viele Forms erstellen muss und ich so einfach im Vorfeld schon viel besser sehen kann wie es später aussehen wird.
Bin für jeden Tipp dankbar.
Tobias
[gelöst] QDockWidget und QtDesigner
[gelöst] QDockWidget und QtDesigner
Zuletzt geändert von sea_bear am 20. November 2009 09:19, insgesamt 1-mal geändert.
Re: QDockWidget und QtDesigner
Ich habe raus bekommen woran es liegt. QtDesigner produziert einen falschen Code! Er fügt das QDockWidget an der falschen Stelle ein und deswegen kann es nicht funktionieren. Mich würde nun interessieren, ob andere das gleiche Problem haben. Anbei einmal den falschen (von QtDesigner) und den richtigen Code (von mir korrigiert). QtDesigner fügt das QDockWidget beim centralWidgt ein, während es korrekt beim MainWindow wäre.
QtDesigner:
Von mir korrigiert:
Ich nutze QtDesigner V 4.4.3 unter OpenSuSE 11.1 auf einer 64Bit Maschine.
Würde mich freuen, wenn es mal jemand auf seiner Maschine überprüfen könnte.
Tobias
QtDesigner:
Code: Alles auswählen
if (MainWindow->objectName().isEmpty())
MainWindow->setObjectName(QString::fromUtf8("MainWindow"));
MainWindow->resize(466, 324);
centralwidget = new QWidget(MainWindow);
centralwidget->setObjectName(QString::fromUtf8("centralwidget"));
dockWidget = new QDockWidget(centralwidget);
dockWidget->setObjectName(QString::fromUtf8("dockWidget"));
dockWidget->setGeometry(QRect(320, 80, 120, 80));
dockWidgetContents = new QWidget();
dockWidgetContents->setObjectName(QString::fromUtf8("dockWidgetContents"));
dockWidget->setWidget(dockWidgetContents);
MainWindow->setCentralWidget(centralwidget);
menubar = new QMenuBar(MainWindow);
menubar->setObjectName(QString::fromUtf8("menubar"));
menubar->setGeometry(QRect(0, 0, 466, 27));
MainWindow->setMenuBar(menubar);
statusbar = new QStatusBar(MainWindow);
statusbar->setObjectName(QString::fromUtf8("statusbar"));
MainWindow->setStatusBar(statusbar);
Code: Alles auswählen
if (MainWindow->objectName().isEmpty())
MainWindow->setObjectName(QString::fromUtf8("MainWindow"));
MainWindow->resize(466, 324);
centralwidget = new QWidget(MainWindow);
centralwidget->setObjectName(QString::fromUtf8("centralwidget"));
MainWindow->setCentralWidget(centralwidget);
menubar = new QMenuBar(MainWindow);
menubar->setObjectName(QString::fromUtf8("menubar"));
menubar->setGeometry(QRect(0, 0, 466, 27));
MainWindow->setMenuBar(menubar);
statusbar = new QStatusBar(MainWindow);
statusbar->setObjectName(QString::fromUtf8("statusbar"));
MainWindow->setStatusBar(statusbar);
dockWidget = new QDockWidget(MainWindow);
dockWidget->setObjectName(QString::fromUtf8("dockWidget"));
dockWidgetContents = new QWidget();
dockWidgetContents->setObjectName(QString::fromUtf8("dockWidgetContents"));
dockWidget->setWidget(dockWidgetContents);
MainWindow->addDockWidget(static_cast<Qt::DockWidgetArea>(1), dockWidget);
Würde mich freuen, wenn es mal jemand auf seiner Maschine überprüfen könnte.
Tobias
Ja, hatte alles ausprobiert, lag aber nicht daran.archer hat geschrieben:Hast du im Designer mal mit den Einstellungen des DockWidgets gespielt?
Features, Areas und Floating?
Ich habe ein Systemupdate durchgeführt und habe nun den QtDesigner in Version 4.5.3 Hier funktioniert es nun wieder alles perfekt. Scheint wirklich nur ein Bug in der einen Version 4.4.3 gewesen zu sein. Leider hat sich anscheinend bei meinem Update irgendwas mit dem Qt Style verschoben. Alle Fenster und Bedienelemente sehen auf einmal echt grässlich aus. Mal sehen wie ich das wieder hin bekomme.
Tobias
OpenSuSE 11.1 64Bit
Kdevelop 3.5.3
QtDesigner 4.5.3