QList指针创建可变数量的控件
目录
QList储存控件和修该测试
- 函数代码
void MainWindow::testQList(){
QLabel * label1=new QLabel(this);
label1->setText(tr("你好美"));
label1->setGeometry(100,100,100,50);
QLabel * label2=new QLabel(this);
label2->setText(tr("你真善良"));
label2->setGeometry(100,200,100,50);
list_label<<label1;
list_label<<label2;
list_label[0]->setText(tr("直挂云帆济沧海"));
}
- 运行结果
QList新建可变数量的控件
void MainWindow::setupPointerList(){
for(int i=0;i<4;i++){
list_label<<new QLabel(this);
}
for(int i=0;i<4;i++){
list_label[i]->setText("label"+QString::number(i));
list_label[i]->setGeometry(100*i,100,100,50);
}
}
- 运行结果
qDeleteAll释放Qlist的内存
void MainWindow::clearlist(){
qDeleteAll(list_label);
// list_label.clear(); 经过测试仅用clear()是无法清除内存的
}
- 点击按钮后
根据内存的监控,QList中的按钮控件的内存全部释放