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



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

window->resize(savedSize);
window->move(savedPos);
window->show();
void closeEvent(QCloseEvent *e) {
savedSize = window->size();
savedPos = window->pos();
}

问题是窗口位置由应用程序栏(窗口最小化和最大化按钮所在的栏(更改。因此,当我打开和关闭窗口几次时,窗口会越来越向下移动(每次都恰好是应用程序栏的大小(。如何准确恢复上一个位置?

问候

你应该使用 QWidget::saveGeometry(( 来获取窗口大小,并使用 QWidget::restoreGeometry(( 来恢复它,例如使用 QSetting。您可能还对 QMainWindow::saveState(( 和 QMainWindow::restoreState(( 感兴趣

最新更新