Qt:如何设置主窗口的初始位置?

时间:2009-05-15 04:23:42

标签: c++ windows qt

我认为通常的窗口管理器确定QMainWindow位置在桌面上的初始位置。我想自己设定初始职位。如何在Windows上使用Qt完成这项工作?

2 个答案:

答案 0 :(得分:25)

您可以在构建MainWindow期间使用restoreGeometry()恢复窗口几何体,并使用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显着变化时,您应该增加该常量,以防止尝试恢复无效状态。

答案 1 :(得分:5)

我相信你正在寻找setGeometry