[gelöst] QDockWidget und QtDesigner

Verschiedenes zu Qt
Antworten
sea_bear
Beiträge: 61
Registriert: 9. Oktober 2005 16:40
Wohnort: Schortens

[gelöst] QDockWidget und QtDesigner

Beitrag von sea_bear »

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
Zuletzt geändert von sea_bear am 20. November 2009 09:19, insgesamt 1-mal geändert.
sea_bear
Beiträge: 61
Registriert: 9. Oktober 2005 16:40
Wohnort: Schortens

Re: QDockWidget und QtDesigner

Beitrag von sea_bear »

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:

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);
Von mir korrigiert:

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);
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
archer
Beiträge: 306
Registriert: 2. Februar 2006 09:56

Beitrag von archer »

Hast du im Designer mal mit den Einstellungen des DockWidgets gespielt?
Features, Areas und Floating?
sea_bear
Beiträge: 61
Registriert: 9. Oktober 2005 16:40
Wohnort: Schortens

Beitrag von sea_bear »

archer hat geschrieben:Hast du im Designer mal mit den Einstellungen des DockWidgets gespielt?
Features, Areas und Floating?
Ja, hatte alles ausprobiert, lag aber nicht daran.
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
Antworten