如果窗口容器更改其大小,如何自动调整按钮

时间:2013-01-13 20:48:13

标签: qt qt4 qt5 qpushbutton qsizepolicy

我有一个窗口和一堆按钮。这个窗口将是我的“主菜单”。放置按钮后,我希望将这些按钮固定为此窗口的大小。因此,如果窗口改变了(例如用户),他们应该填充窗口并改变它们的大小。

我该怎么做?

1 个答案:

答案 0 :(得分:3)

您应该将按钮放在布局中(例如参见QGridLayoutQVBoxLayout)。

示例(假设window是您的窗口,button是您的按钮):

QVBoxLayout* layout = new QVBoxLayout;
layout->addWidget(button);
window->setLayout(layout);

这将使按钮水平展开。您是否希望它们垂直扩展,您需要更改按钮的垂直大小策略,因为按钮的默认垂直策略是不会占用比其首选大小更多的空间。

button->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);