如何在運行時創建QGridLayout並動態生成行併爲其動態添加按鈕?如何在運行時創建QGridLayout並動態生成行?
On button我想要在運行時放置圖像&標籤。
我在按鈕單擊上創建四個按鈕,並嘗試在它上面放置一個圖標,但它沒有出現在上面,我試圖使我的網格可滾動(垂直),但它沒有滾動。
QScrollArea *scrollArea = new QScrollArea(this);
QPushButton *b1 = new QPushButton(strsearch);
QPushButton *b2 = new QPushButton(strsearch);
QPushButton *b3 = new QPushButton(strsearch);
QPushButton *b4 = new QPushButton(strsearch);
b1->setGeometry(QRect(0, 0, 162, 26));
b2->setGeometry(QRect(0, 0, 162, 26));
b3->setGeometry(QRect(0, 0, 162, 26));
b4->setGeometry(QRect(0, 0, 162, 26));
b1->setIcon(QIcon("user.gif"));
b1->setIconSize(QSize(160, 26));
b2->setIcon(QIcon("user.gif"));
b2->setIconSize(QSize(160, 26));
b3->setIcon(QIcon("user.gif"));
b3->setIconSize(QSize(160, 26));
b4->setIcon(QIcon("user.gif"));
b4->setIconSize(QSize(160, 26));
QVBoxLayout *vl = new QVBoxLayout;
layout = new QGridLayout; // this is your grid layout
vl->addWidget(b1);
vl->addWidget(b2);
vl->addWidget(b3);
vl->addWidget(b4);
vl->addLayout(layout);
scrollArea->setWidget(vl->widget());
vl->addWidget(scrollArea);
setLayout(vl);
謝謝。
@Mat:Thanks.But如何放置圖像和拉布勒在運行時按鈕的上方。 – user662285 2011-06-13 09:05:14
只需創建按鈕並設置圖標/文本(更新我的示例代碼以顯示)。沒有什麼特別的要求,請查看[qt教程](http://doc.qt.nokia.com/latest/widgets-tutorial.html),它們向您展示瞭如何創建小部件的基本知識(在運行時)。 – Mat 2011-06-13 09:12:42
@Mat: 我的需求就像我應該創建基於搜索結果的按鈕,它也應該可以滾動。如何使它可以滾動? – user662285 2011-06-13 09:30:44