我正在嘗試構建一個包含一系列QPushButton
的programmaticaly(包含Qt 4.6)的窗口,它們全部封裝在一起。它應該看起來像這樣(我稱之爲工具箱):刪除QGridLayout中的所有間距
toolbox image http://img99.imageshack.us/img99/9853/examplezk.png
所以,我創建了一個工具箱類,從QWidget中派生,它具有以下構造:
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);
不知何故,它不工作,我的按鈕沒有最終擠在一起:
result http://img9.imageshack.us/img9/774/resultr.png
我不能設法消除這種已經rtical間距(以及整個陣列周圍的邊距)。歡迎任何幫助。
鏈接現已停止。 – Trilarion 2015-01-05 19:02:52
工作鏈接:https://bugreports.qt.io/browse/QTBUG-2699 – Taran 2015-07-25 14:35:06