我认为通常的窗口管理器确定QMainWindow位置在桌面上的初始位置.我想自己设定初始职位.如何在Windows上使用Qt完成此操作?
Pau*_*xon 25
您可以在构建MainWindow期间使用restoreGeometry()恢复窗口几何,以及使用restoreState()恢复停靠元素的状态...
QSettings settings("yourcompany", "yourapp");
restoreGeometry(settings.value("geometry").toByteArray());
restoreState(settings.value("state").toByteArray(),YOUR_UI_VERSION);
Run Code Online (Sandbox Code Playgroud)
然后,如果重写closeEvent(),则可以按如下方式保存状态:
QSettings settings("yourcompany", "yourapp");
settings.setValue("geometry", saveGeometry());
settings.setValue("state", saveState(YOUR_UI_VERSION));
Run Code Online (Sandbox Code Playgroud)
YOUR_UI_VERSION是一个常量,当UI显着变化时,您应该增加该常量,以防止尝试恢复无效状态.