我保存并恢复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(( 感兴趣