1. 程式人生 > >QT 如何建立一個N行N列的控制元件

QT 如何建立一個N行N列的控制元件

一個由使用者手動輸入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;
}




效果如下: