如何存储Qt gui布局并恢复它

Pet*_*etr 7 c++ qt

我有一个Qt gui应用程序,它使用dock小部件和类似的项目,用户可以调整自己.

我希望布局在应用程序重启时保持不变.该应用程序已经有一些保存和加载用户配置的功能,但我不知道如何存储布局(停靠位置,它们的大小等),我不知道如何恢复它们.

这有什么简单的方法吗?或者我是否必须检查每个元素的大小,位置和位置并单独存储?

vah*_*cho 10

要存储您的停靠窗口布局,您可以使用QMainWindow::saveState(int version)QMainWindow::restoreState(const QByteArray &state, int version)QSettings课程结合使用.

来自Qt docs的示例:

void MyMainWindow::closeEvent(QCloseEvent *event)
{
    QSettings settings("MyCompany", "MyApp");
    settings.setValue("geometry", saveGeometry());
    settings.setValue("windowState", saveState());
    QMainWindow::closeEvent(event);
}
Run Code Online (Sandbox Code Playgroud)