我正在编写 Qt(Ubuntu 12.04 上的 4.8.1)应用程序,它在会话之间存储它的主窗口几何图形。我注意到如果小部件最大化,qt 不会存储它的非最大化几何。显然,如果我的应用程序自上次最大化后关闭/启动,我希望我的应用程序返回到它的非最大化大小。在
- 主窗口未最大化且具有几何 X;
- 最大化主窗口;
- 保存窗口几何图形(使用 QWidget::saveGeometry)到配置文件;
- 关闭我的申请;
- 重新开始;
- 从配置文件加载几何
- 恢复(取消最大化?;)
在步骤 6 之后窗口最大化(如预期的那样),但在步骤 7 之后它返回到某个内部默认大小(即在 QtCreator 中设计表单时设置的一组),而不是最后一个未最大化的几何 X。
这是期望的行为吗?或者在 qt 中实现是不可能/困难的?
是因为最大化时,窗口管理器会记住非最大化的大小而不是qt(至少在linux上)?