c++ - QT清除小部件内容

标签 c++ qt

我有 QWidget renameWidget,它被称为 ui->renameWidget。在其中,我有一个 QVBoxLayout *renamebox,在其中我有几个标签和文本编辑器。

我需要做的是,当我按下按钮提交这些文本编辑时,我需要删除 QWidget 中的所有内容。这将产生盒子被清空或清除的效果。

我试过只删除 vboxlayout,我也试过这个:

qDeleteAll(ui->renameWidget->findChildren<QVBoxLayout *>());

没有任何效果,有什么想法吗?

最佳答案

尝试

 qDeleteAll(ui->renamebox->findChildren<QLabel *>());
 qDeleteAll(ui->renamebox->findChildren<QTextEdit *>());

尽管在大多数基于 QObject 的类上调用 deleteLater 通常更好,因为它允许在事件循环的下一次传递中清理对象,而不是在正在处理的事件中间

关于c++ - QT清除小部件内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24918875/

相关文章:

c++ - 在不同的无限循环上同步 Qthreads (QTimerEvent)

c++ - 为什么 OpenCL cl.hpp(仅 header )包装器不违反单一定义规则?

c++ - linux测时间问题! std::chrono、QueryPerformanceCounter、clock_gettime

C++:#pragma comment(lib, "XXX") 实际上对 "XXX"做了什么?

c++ - 销毁 std::queue 导致内存错误

c++ - 使用 QVTK 在 Qt 中进行 PCL 可视化

c++ - QLinkedList size() 函数

c++ - 如何在不丢失鼠标抓取的情况下将 QGraphicsItem 移动到另一个场景?

python - ipython qt 控制台 : change the default working directory

c++ - QWidget Initialization 在函数调用中的不同行为