在 QStackedWidget 页面中调整布局大小

Ian*_*Ian 3 c++ qt

我正在尝试将一个小部件放置在 QStackedWidget 中的页面上,以便在父 QStackedWidget 调整大小时自动调整大小。这个简单的任务似乎不可能用 Qt Creator 完成。向页面添加布局似乎没有任何作用,布局只是保持其设计的任何大小,并且不会调整大小。这是(我认为?)因为布局作为子项添加到页面小部件中,而不是直接附加到页面小部件。似乎没有办法实际向页面添加布局。

如何使用 Qt Creator 在 QStackedWidget 中调整小部件的大小???

作为附带评论,我真的希望 Qt 放弃它的布局系统,它比基于锚定的系统更难使用。

Arn*_*nce 5

Qt Creator 将小部件视为它们已经有一个布局,您可以从设计器中小部件的上下文菜单(右键单击)或从右侧的小部件列表中访问该布局。这意味着如果您想将该顶级布局划分为进一步的子布局,您只需将布局(从调色板)拖放到小部件上。下图显示了此上下文菜单。

在此处输入图片说明

请注意右侧显示一个划掉的红色圆圈的小部件图标。这表明没有为这些小部件定义顶级布局。选择布局类型后,红色圆圈将消失,图标将反映您的布局选择。

在您的情况下,将 aQStackedWidget放在主小部件上后,您可以右键单击主小部件,选择“布局”并选择“水平布局”。这将使堆叠的小部件填充整个主小部件并调整其大小。

同样,如果您将任何小部件放在“页面”小部件之一上,则可以右键单击页面小部件并为其分配顶级布局,这将导致这些小部件随页面小部件相应地调整大小。