3

我有一个x固定大小的小部件。然后首先我拿了一个 QScrollArea,然后是一个 QGridLayout,我将其设置为 scrollAreaWidgetContent 的布局。然后我开始x在网格布局的 (0,0), (0,1), (1,0), (1,1)... 的布局中添加一些小部件。然后当我运行程序时,奇怪的是当我垂直缩小窗口时,小部件重叠了。

重叠的小部件

正如预期的那样,当我垂直增加窗口大小时,它们不再重叠。

非重叠

但奇怪的是当我水平缩小窗口时不会出现这个问题。例如,

水平调整大小

我的问题是,为什么会发生这种情况,更重要的是,记住我想使用 gridlayout,如何解决这个问题?

4

1 回答 1

1

正如您在问题中所说:您的小部件具有固定大小,因此当没有剩余空间时布局不会缩小它们。所以问题是:当你缩小窗口时你想发生什么?

  1. 如果要缩小小部件,则必须将小部件的 sizePolicy 从“固定”更改为“首选”。
  2. 如果要减少布局中的小部件数量,则可以在 resize 事件中添加事件处理程序并删除它们
  3. 如果要禁止缩小窗口,则需要将滚动区域的 sizePolicy 设置为 fixed 或 minimumSize
于 2014-07-10T15:40:04.223 回答