【问题标题】:How to let user vertically resize window如何让用户垂直调整窗口大小
【发布时间】:2017-09-16 09:32:00
【问题描述】:

我希望用户能够垂直调整窗口大小,但我不确定我会如何做到这一点。我在 Qt Creator 中选择了我的根对象(QWidget 类型的视图),但我没有看到允许用户垂直调整对象大小的选项。这必须通过代码来完成吗?

【问题讨论】:

  • 查看 QSizeGrip

标签: c++ qt resize qt-creator


【解决方案1】:

默认情况下,如果QWidget 是顶级窗口,您可以调整它的大小,因为minimumSizemaximumSize 是不同的,因为它们表示调整大小的范围。

如果您想让用户垂直调整大小,那么您只需将minimumWidthmaximumWidth 设置为相同的值(可能是@987654331 的当前宽度@)。 Qt 将负责指示底层的 Windows 管理器。

您可以在设计器中执行此操作,也可以使用setMinimumWidthsetMaximumWidth 方法以编程方式执行此操作。 编辑:正如评论中提到的,有一个setFixedWidth 方法可以简化此操作(并使其在您的代码中更加明确)。

当然,您可以使用组合,例如设置最小宽度(或高度,或两者-最小尺寸-)以避免您的顶级窗口折叠并变得不可用,设置最大尺寸......一常见的设置是制作minimumSize = maximumSize,所以你把窗口设为固定大小(可以使用方便的方法setFixedSize)。

PS:请注意,这与sizePolicy 无关,它只是指示父布局在放置小部件时可以采取哪些操作-关于大小-。由于顶级窗口没有父布局,因此根本不使用此策略。

【讨论】:

  • 还有一个便利功能QWidget::setFixedWidth
  • 哦!我不知道,不错!谢谢@thuga!
  • 我只记得如果在设计器中右键单击 QWidget,则有一个 Size constrains 子菜单可以帮助您设置最小值或最大尺寸为当前尺寸。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-09
  • 2012-02-15
  • 2017-02-17
相关资源
最近更新 更多