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