QMainWindow中有函数saveGeometry()和saveState()来保存主窗口布局。
可以在构造函数中调用保存函数,在主窗口中关闭函数(closeEvent())中调用恢复函数,这样就可以保存上一次布局了。
注意:该方法是通过QSettings类,将布局设置在“.ini”的配置文件中,文件默认是在系统目录,若要使其在指定的文件目录,需要在QSettings实例化对象时,指定文件目录,即添加文件路径即可。
-
// 保存
-
QSettings settings("Software Inc.", "Icon Editor");
-
settings.beginGroup("mainWindow");
-
settings.setValue("geometry", saveGeometry());
-
settings.setValue("state", saveState());
-
settings.endGroup();
-
// 恢复
-
QSettings settings("Software Inc.", "Icon Editor");
-
settings.beginGroup("mainWindow");
-
restoreGeometry(settings.value("geometry").toByteArray());
-
restoreState(settings.value("state").toByteArray());
-
settings.endGroup();