2009-10-08 774 views
4

是否有任何簡單的方法來打開Qt對話框的位置與最後一次打開應用程序時相同?
保留應用程序會話之間的對話位置?如何控制QDialog的位置?

通過簡單的方法我的意思是不是有手動寫入文件窗口的位置,然後閱讀:)

+0

你的意思是在QWidget的像setGeometry的優先停留呢? – Bob 2009-10-08 15:18:52

回答

10

可以使用QSettings類來實現這一目標。這是一個抽象類,允許應用程序存儲其設置,以便在下次啓動時檢索它們。

保存設置:

QSettings settings("ValueName", "Value"); 

閱讀設置:

QString v = settings.value("ValueName"); 
+2

甚至有一個如何在Qt文檔中這樣做的例子,在http://doc.trolltech.com/4.5/qsettings.html#restoring-the-state-of-a-gui-application – gnud 2009-10-08 15:30:38

+0

是的,它是在與QSettings類表示相同的頁面上 – 2009-10-08 15:33:37

3

與QWidget的使用以及:: QSettings restoreGeometry()和QWidget的:: saveGeometry()。

2

更好地保存dialog-> pos(),dialog-> size(),dialog-> isMaximized(),導致dialog-> saveGeometry()不能最大化窗口。

QSettings是保存配置