QT 如何创建一个N行N列的控件

一个由用户手动输入N行N列并生成相应数目控件的例子。

代码如下:

.h文件:

QVector Vector_CheckBox;	//可以使创建的局部变量控件能全局使用


.C文件:

int row = 4;	//可设置为用户输入的值
int column = 5;	//可设置为用户输入的值

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;
}



 
  
效果如下:


你可能感兴趣的:(QT,C++)