QList指针创建可变数量的控件

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中的按钮控件的内存全部释放

猜你喜欢

转载自blog.csdn.net/qq_25188995/article/details/81513371