2017-04-19 112 views
1

我希望用户能够垂直调整窗口,但我不确定我会怎么做。我选择了Qt Creator中我的根对象(QWidget类型的视图),但我没有看到一个选项,允许用户垂直调整对象。这是否需要通过代码完成?如何让用户垂直调整窗口

+0

检出QSizeGrip – baci

回答

1

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

如果你想让用户调整垂直只有,那么你只需要两个minimumWidthmaximumWidth设置为相同的值(可能是您的QWidget的当前宽度)。 Qt将负责指示其他底层窗口管理器。

你可以做到这一点在设计或编程方式使用setMinimumWidthsetMaximumWidth方法。 编辑:正如评论所说,有一个setFixedWidth方法,简化这个操作(并使它在你的代码更清楚了)。

当然,您可以使用诸如设置最小宽度(或高度或两者兼有的最小尺寸)等组合来避免顶层窗口折叠并变得不可用,从而设置最大尺寸......一个常见的设置使得minimumSize = maximumSize,所以你使窗口固定大小(你可以用简便方法setFixedSize)。

PS:看到这与sizePolicy没什么关系,它只是表示放置widget时可以采取哪些操作(大小)的父布局。作为一个顶级窗口没有父布局是根本无法使用这项政策。

+1

还有一个便利函数['QWidget :: setFixedWidth'](http://doc.qt.io/qt-5/qwidget.html#setFixedWidth)。 – thuga

+0

哦!我不知道,很好!谢谢@thuga! – cbuchart

+0

我刚刚记得,如果在设计器中右键单击'QWidget',则会有一个_Size constraintins_子菜单帮助您将最小或最大大小设置为当前大小。 – cbuchart