Seite 1 von 1

[gelöst] saveState/restoreState von QDockWidget

Verfasst: 19. Juni 2009 12:51
von graythornAK
Hallo zusammen,

ich entwickle eine MDI-Anwendung mit mehreren QDockWidgets. Leider ist es bei jedem Programstart notwendig, diese Widgets neu zu positionieren.

Wie bitte kann ich die Position der QDockWidgets bei Programmende speichern und bei Programmstart wieder laden?

Ich benutze die saveState und restoreState Methode des QMainWindow, und
die Toolbars werden auch wunderbar gesichert und wieder geladen. Laut Dokumentation sollte das auch für die QDockWidgets funktionieren, das ist aber leider nicht der Fall.

Weiß jemand Rat?

Gruß
Andreas

Verfasst: 19. Juni 2009 13:02
von franzf
The objectName property is used to identify each QToolBar and QDockWidget. You should make sure that this property is unique for each QToolBar and QDockWidget you add to the QMainWindow
Trifft das zu?

Verfasst: 19. Juni 2009 13:26
von graythornAK
Ja, die Widgets haben jeweils eigene Namen, aber.....

...aufgrund eines ziemlich hinterhältigen Prgrammierfehlers wurden vor dem Speichern des Status alle gelöscht (also alle "").

Problem gelöst, danke!

Re: [gelöst] saveState/restoreState von QDockWidget

Verfasst: 9. Februar 2023 12:24
von tobsam
Achtung, es genügt hier nicht die QDockWidgets mit

Code: Alles auswählen

QDockWidget* dock = new QDockWidget("NAME", this);
zu initialisieren. Dieser NAME wird dann nur als Titel übernommen und nicht als objectName.

Es braucht also dann noch ein:

Code: Alles auswählen

dock->setObjectName("NAME");