我有一个使用停靠小部件和类似项目的 Qt gui 应用程序,用户可以自行调整。
我希望布局在应用程序重新启动时保持不变。该应用程序已经具有一些保存和加载用户配置的功能,但我不知道如何存储布局(停靠点的位置、它们的大小等),也不知道如何恢复它们。
有什么简单的方法可以做到这一点吗?还是我必须检查每个元素的大小、位置和位置并单独存储?
为了存储您的停靠窗口布局,您可以使用QMainWindow::saveState(int version)
并QMainWindow::restoreState(const QByteArray &state, int version)
与QSettings
类结合使用。
Qt 文档中的示例:
void MyMainWindow::closeEvent(QCloseEvent *event)
{
QSettings settings("MyCompany", "MyApp");
settings.setValue("geometry", saveGeometry());
settings.setValue("windowState", saveState());
QMainWindow::closeEvent(event);
}