我正在尝试以编程方式(使用 Qt 4.6)构建一个包含一系列的窗口QPushButton
的,全部挤在一起。它应该看起来像这样(我称之为工具箱):
工具箱图像http://img99.imageshack.us/img99/9853/examplezk.png http://img99.imageshack.us/img99/9853/examplezk.png
因此,我创建了一个继承自 QWidget 的 Toolbox 类,它具有以下构造函数:
Toolbox::Toolbox (void)
: QWidget (0, Qt::Tool)
{
setWindowTitle (tr ("Toolbox"));
QGridLayout *group = new QGridLayout (this);
group->setSpacing (0);
group->setContentsMargins (0, 0, 0, 0);
group->setSizeConstraint (QLayout::SetFixedSize);
setLayout (group);
unsigned k = 0;
QPushButton *buttons = new QPushButton[6];
for (unsigned i = 0; i < 3; i++)
for (unsigned j = 0; j < 2; j++)
{
buttons[k].setIcon (QIcon ("test.png"));
buttons[k].setIconSize (QSize (32, 32));
buttons[k].setContentsMargins (0, 0, 0, 0);
buttons[k].setCheckable (true);
buttons[k].setAutoExclusive (true);
group->addWidget (&buttons[k], i, j);
k++;
}
buttons[1].setChecked (true);
不知怎的,它不起作用,我的按钮最终没有挤在一起:
结果http://img9.imageshack.us/img9/774/resultr.png http://img9.imageshack.us/img9/774/resultr.png
我无法设法删除这个垂直间距(以及整个数组周围的边距)。欢迎任何帮助。