我认为通常窗口pipe理器决定桌面上QMainWindow位置的初始位置。 我想自己设定初始位置。 这在Windows上如何完成Qt?
您可以使用restoreGeometry()恢复窗口几何,以及在构建MainWindow期间使用restoreState()恢复停靠元素的状态。
QSettings settings("yourcompany", "yourapp"); restoreGeometry(settings.value("geometry").toByteArray()); restoreState(settings.value("state").toByteArray(),YOUR_UI_VERSION);
然后,如果重写closeEvent() ,则可以按如下方式保存状态:
QSettings settings("yourcompany", "yourapp"); settings.setValue("geometry", saveGeometry()); settings.setValue("state", saveState(YOUR_UI_VERSION));
YOUR_UI_VERSION是一个常量,当UI变化很大时,您应该增加以防止尝试恢复无效状态。
我相信你正在寻找setGeometry 。