[gelöst] saveState/restoreState von QDockWidget

Alles rund um die Programmierung mit Qt
Antworten
graythornAK
Beiträge: 29
Registriert: 16. März 2007 15:14

[gelöst] saveState/restoreState von QDockWidget

Beitrag 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
Zuletzt geändert von graythornAK am 22. Juni 2009 13:04, insgesamt 1-mal geändert.
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag 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?
graythornAK
Beiträge: 29
Registriert: 16. März 2007 15:14

Beitrag 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!
tobsam
Beiträge: 1
Registriert: 9. Februar 2023 12:19

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

Beitrag 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");
Antworten