C++ 恢复Qt窗口大小和位置问题

C++ 恢复Qt窗口大小和位置问题,c++,windows,qt,C++,Windows,Qt,我保存并恢复QMainWindow的大小和位置,如下所示: window->resize(savedSize); window->move(savedPos); window->show(); void closeEvent(QCloseEvent *e) { savedSize = window->size(); savedPos = window->pos(); } 问题是窗口位置由应用程序栏(窗口最小化和最大化按钮所在的栏)更改。因此,当我

我保存并恢复QMainWindow的大小和位置,如下所示:

window->resize(savedSize);
window->move(savedPos);
window->show();

void closeEvent(QCloseEvent *e) {
    savedSize = window->size();
    savedPos = window->pos();
}
问题是窗口位置由应用程序栏(窗口最小化和最大化按钮所在的栏)更改。因此,当我打开和关闭窗口几次时,窗口就会越来越向下移动(每次都正好是应用程序栏的大小)。我怎样才能准确地恢复最后一个位置


关于,

您应该使用获取窗口大小并将其还原,例如使用QSETING。您可能还对

文档中还声明我们可以使用resize()和pos(),但我将检查saveGeometry()是否正确保持位置。