我有一个带有一些内部可停靠窗口的主窗口。我可以移动,调整大小并重做那些可停靠的窗口。关闭并重新打开程序后,我希望保持移动,大小和重新锁定。有没有简单的方法来实现它?我认为它会使用设置。但是哪些信息应保存在设置中。以及如何设置所有这些停靠窗口的默认布局?单击操作按钮时,可以将其还原。感谢。
答案 0 :(得分:18)
查看QMainWindow :: saveState / restoreState。它就是这样做的。
保存:
QSettings settings;
settings.setValue("DOCK_LOCATIONS",this->saveState(SOME_VERSION_DEFINE));
要恢复:
QSettings settings;
this->restoreState(settings.value("DOCK_LOCATIONS").toByteArray(),SOME_VERSION_DEFINE);
答案 1 :(得分:-2)
不幸的是,不,没有内置的方法来做到这一点。
您需要遍历所有工具栏和可停靠的小部件,并将其位置(以及可能的可见性)写入文件。要恢复,您可以阅读该文件并根据您阅读的内容设置您的位置。
好消息是,一旦设置了这样的系统,制作默认布局就很容易 - 将所有小部件移动到所需的位置,然后保存布局文件,就像上面的用户布局一样。您甚至可以拥有多个布局,只要它们都能获得单独的文件。