Qt使用数组实现控件批处理
在Qt中,当你需要对多个控件进行批处理操作时,使用控件数组会大大简化你的代码量。
例如希望在一个页面中创建一个控件数组,其中包含8条控件集合。控件数组的定义如下:
QCheckBox *checkbox[8];
QLabel *name[8];
QLabel *ID[8];
QPushButton *userDelBtn[8];
QPushButton *userEdtBtn[8];
然后在你的cpp中使用循环,将它们实例化。
for(int i = 0; i < 8; i++)
{
checkbox[i] = new QCheckBox(this);
checkbox[i] -> move(52,320+100*i);
name[i] = new QLabel(this);
name[i] -> move(160,320+100*i);
ID[i] = new QLabel(this);
ID[i] -> move(327,320+100*i);
userEdtBtn[i] = new QPushButton(this);
userEdtBtn[i] -> move(563,320+100*i);
userEdtBtn[i] -> setIcon(QIcon(":/images/edit"));
userEdtBtn[i] -> setIconSize(QSize(28,28));
userEdtBtn[i] -> setStyleSheet("background-color:white; border:none");
userDelBtn[i] = new QPushButton(this);
userDelBtn[i] -> move(635,320+100*i);
userDelBtn[i] -> setIcon(QIcon(":/images/delete"));
userDelBtn[i] -> setIconSize(QSize(28,28));
userDelBtn[i] -> setStyleSheet("background-color:white; border:none");
}
这样就可以根据实际需要对这些控件集进行修改了。
最后不要忘了new出来的东西要对应地delete掉。
for(int i=0;i<8;i++)
{
delete checkbox[i]; //复选框
delete name[i]; //用户姓名标签
delete ID[i]; //用户工号标签
delete userDelBtn[i]; //"删除"按钮
delete userEdtBtn[i]; //"编辑"按钮
}