QT中 QWidget 怎样删除所有子控件,例如label和pushnutton等,子控件父对象直接就是widget

QT中 QWidget 怎样删除所有子控件,例如label和pushnutton等,子控件父对象直接就是widget,第1张

MainWindow::MainWindow(QWidget *parent) :

QMainWindow(parent),

ui(new Ui::MainWindow)

{

ui->setupUi(this)

//QVector<QWidget*>widgetvec

QPushButton *p_button = new QPushButton("我是按钮", this)

p_button->setGeometry(30, 30, 100, 40)

widgetvec <<p_button

QLabel *p_labe = new QLabel("我是Label", this)

p_labe->setGeometry(30, 60, 100, 40)

widgetvec <<p_labe

}

MainWindow::~MainWindow()

{

delete ui

}

void MainWindow::on_pushButton_clicked()

{

for(int i = 0i <widgetvec.count()i++)

{

delete widgetvec[i]

}

}

按下按钮后删除button和label

如果是用纯手写代码来添加的,那么恐怕需要你自己从源代码找出所有使用过这个控件的地方逐个删掉。

如果你是用qt designer或者qt creator的设计模式添加的控件,直接把它“拉走”就可以了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11724857.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存