【发布时间】:2013-01-13 20:48:12
【问题描述】:
我有一个窗口和一堆按钮。这个窗口将是我的“主菜单”。放置按钮后,我希望将这些按钮固定到此窗口的大小。因此,如果窗口改变了他的(例如由用户),他们应该填充窗口并改变它们的大小。
我该怎么做?
【问题讨论】:
标签: qt qt4 qt5 qpushbutton qsizepolicy
我有一个窗口和一堆按钮。这个窗口将是我的“主菜单”。放置按钮后,我希望将这些按钮固定到此窗口的大小。因此,如果窗口改变了他的(例如由用户),他们应该填充窗口并改变它们的大小。
我该怎么做?
【问题讨论】:
标签: qt qt4 qt5 qpushbutton qsizepolicy
你应该把你的按钮放在一个布局中(例如见QGridLayout或QVBoxLayout)。
示例(假设window 是您的窗口,button 是您的按钮):
QVBoxLayout* layout = new QVBoxLayout;
layout->addWidget(button);
window->setLayout(layout);
这将使按钮水平展开。您是否也希望它们垂直扩展,您需要更改按钮的垂直大小策略,因为按钮的默认垂直策略是不占用比其首选大小更多的空间。
button->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
【讨论】: