2009-10-08 63 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是保存配置