c++ - 修复Qt Window大小和位置问题

标签 c++ windows qt

我按如下方式保存和恢复 QMainWindow 的大小和位置:

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

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

问题是窗口位置由应用程序栏(Windows 最小化和最大化按钮所在的栏)更改。因此,当我打开和关闭窗口几次时,窗口会越来越向下移动(每次都恰好是应用程序栏的大小)。我怎样才能准确地恢复到最后的位置?

问候,

最佳答案

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

关于c++ - 修复Qt Window大小和位置问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57978767/

相关文章:

c++ - 在调用函数时使用相同的对象实例作为参数和调用对象

c++ - 将波形文件读入带符号的 float 组

C++ std::memory_order_relaxed 和跳过/停止标志

c# - 如何替换 C# Windows 窗体可执行应用程序图标?

c# - 最小化WPF中的窗口?

c++ - Qt on Mac -- 如何访问帮助菜单中的 "search"

c++ - QSqlDatabasePrivate::addDatabase: 重复的连接名称 'MyConnection' 错误

c++ - 模板推导与隐式用户定义转换运算符

c - 链接两个目标文件以生成一个二进制文件

c++ - 确定在 Qt 中按下了哪个快捷方式