QT 如何建立一個N行N列的控制元件
阿新 • • 發佈:2019-02-10
一個由使用者手動輸入N行N列並生成相應數目控制元件的例子。
程式碼如下:
.h檔案:
QVector<QCheckBox*> Vector_CheckBox;<span style="white-space:pre"> </span>//可以使建立的區域性變數控制元件能全域性使用
.C檔案:
int row = 4;<span style="white-space:pre"> </span>//可設定為使用者輸入的值 int column = 5;<span style="white-space:pre"> </span>//可設定為使用者輸入的值 QVBoxLayout *rowLayout = new QVBoxLayout; for(int i = 0; i < row; i++) { QHBoxLayout *columnLayout = new QHBoxLayout; for(int j = 1; j <= column; j++) { Vector_CheckBox.reserve(row*column); Vector_CheckBox.push_back(test_choice(i)); columnLayout->addWidget(Vector_CheckBox[i - 1]); } rowLayout->addLayout(columnLayout); }
QCheckBox *Widget::test_choice(int column)
{
QCheckBox *b = new QCheckBox;
QString str = QString::number(column);
b->setText(str);
return b;
}
效果如下: