我目前在表单中有以下结构
我有一个QSrame(Brown),它有一个QScrollArea。现在,多个QFrame动态添加到QScrollArea(灰色)。动态添加的QFrame
由QLabel组成。
现在问题是我在QScrollArea中禁用了水平滚动条。因此水平滚动条不会显示。问题是当动态添加的QFrame(灰色)添加到QScrollArea时。一半的框架被切断。这是因为我无法水平滚动。我想要的是让动态添加的Qframe垂直展开而不是水平展开。有什么建议吗?
更新: 我在QScrollArea
中有一个QVBoxLayout答案 0 :(得分:0)
在创建框架时为动态创建的框架设置正确的水平尺寸策略。一个选项是固定大小( QSizePolicy :: Fixed ),另一个是 QSizePolicy :: Maximum (它不是很直观,但实际上最大意味着框架不会大于 sizeHint()函数指定的大小。如果您希望窗口小部件垂直展开,请将垂直尺寸策略设置为 QSizePolicy :: MinimumExpanding 或 QSizePolicy :: Expanding - 适用于您的任何内容。