我使用 Qt Designer 创建布局。因为一切都在不停地跳跃,所以我使用了分组框和水平/垂直布局。不同的部分应该有固定的大小。
我必须使其全部适合一个非常小的窗口......所以我必须将所有组添加到 ScrollArea 中。
我一直在努力让它工作......让它显示滚动条。调整大小没有任何效果。
我读到我必须应用布局 - 我很难应用它。
我选择了网格布局 - 用组框界定必须保持固定的区域。
仍然调整滚动区域的大小,要么没有给我滚动条,要么调整组框内容的大小 - 覆盖 qgraphicviews 和按钮,即使我的想法是必须显示内容......
一旦我制作了固定大小的每个组框,我终于使这一切都工作了 - 使用滚动条。
所以 - 现在 - 我有
Window ---> QWidget (sizePolicy (Preferred, Preferred, 0, 0))
scrollArea ---> QScrollArea (sizePolicy (Preferred, Preferred, 0, 0);
verticalScrollBarPolicy: ScrollBarsAsNeeded, same with horiz)
widgetResizable: checked)
scrollAreaWidgetContents ---> QWidget (layout: grid layout;
sizePolicy (Preferred, Preferred, 0, 0))
grp1 ---> QgroupBox (sizePolicy (Fixed, Fixed, 0, 0))
contents
grp2 ---> QgroupBox (sizePolicy (Fixed, Fixed, 0, 0))
contents
....
仍然有一个问题:我可以在设计器中调整滚动区域的大小,并将其设置为我需要的大小。但即使大小是“首选”而不是“固定”,一旦程序运行,我就无法调整滚动区域的大小。
我认为正常的行为应该是:我应该从滚动区域是什么开始,希望我可以设置窗口大小以匹配滚动区域。
如果我调整窗口大小,滚动区域应该随之变化。
我看到发生的情况:滚动区域具有固定大小,并且窗口可以调整大小(但滚动区域外有空白区域)。
如何使滚动区域仍然调整大小(并与窗口匹配,因为它是其中唯一的对象)?
将布局应用于 Window QWidget(哪个布局无关紧要)并将滚动区域放置在其中。
(回答我问题的最后阶段,这样我就不必在逐渐弄清楚如何使其工作后删除它)
要解决这个问题,您需要做两件事: