gpt4 book ai didi

Qt:为什么子部件在 QGridLayout 中重叠?

转载 作者:行者123 更新时间:2023-12-04 18:06:50 26 4
gpt4 key购买 nike

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

Overlaped widgets

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

Non overlapped

但奇怪的是,当我水平缩小窗口时,这个问题并没有发生。例如,

Horizontal resizing

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

最佳答案

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

  1. 如果您想缩小小部件,则必须将小部件的 sizePolicy 从“固定”更改为“首选”。
  2. 如果你想减少布局中的小部件数量,那么你可以在调整大小事件中添加一个事件处理程序并删除它们
  3. 如果你想禁止窗口缩小,那么你需要将scrollarea的sizePolicy设置为一个fixed或者minimumSize

关于Qt:为什么子部件在 QGridLayout 中重叠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24676942/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com