Qt清空Widget子类

恋歌 2013-07-09 11:54:46
请问Widget要想清空他的子类 除了遍历外 有没有专门的函数可以清空
...全文
963 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xlqwe 2013-07-11
  • 打赏
  • 举报
回复
可以遍历children,对所有child设置setParent(0);就会从界面中移除,但是要单独删除子类
恋歌 2013-07-10
  • 打赏
  • 举报
回复
三个父容器 kindWidget、typeWidget、dishWidget 也就是大类、小类、品项 我茶点大类 蜜饯小类中是有品项的 所以dishWidget里有内容 但我盒装茶礼大类 红茶小类中是没有品项的 我要让dishWidget不显示任何子项 除了遍历dishWidget中所有子项隐藏 有没有专门删除父容器中子项的函数?
恋歌 2013-07-10
  • 打赏
  • 举报
回复
引用 5 楼 cai6811376 的回复:
[quote=引用 2 楼 tankai1991 的回复:]
[quote=引用 1 楼 cai6811376 的回复:]
qDeleteAll


qDeleteAll(ui->kindWidget->children());
这么写么? 也不能清空咧[/quote]
qDeleteAll(ui->kindWidget->findChildren<QWidget *>());试试
或者不仅QWidget
qDeleteAll(ui->kindWidget->findChildren<QObject *>());[/quote]






这是正常显示的:


这是用qDeleteAll后的 只删除了他子控件的信息 他的模块却还在那里
xcyl 2013-07-09
  • 打赏
  • 举报
回复
qDeleteAll
matianyu00 2013-07-09
  • 打赏
  • 举报
回复
你要自己手动清空??如果不是要手动清空的话,在关掉QWidget或析构的时候它会自动清空的。
xcyl 2013-07-09
  • 打赏
  • 举报
回复
引用 2 楼 tankai1991 的回复:
[quote=引用 1 楼 cai6811376 的回复:] qDeleteAll
qDeleteAll(ui->kindWidget->children()); 这么写么? 也不能清空咧[/quote] qDeleteAll(ui->kindWidget->findChildren<QWidget *>());试试 或者不仅QWidget qDeleteAll(ui->kindWidget->findChildren<QObject *>());
  • 打赏
  • 举报
回复
qDeleteAll 应该是可以的啊
恋歌 2013-07-09
  • 打赏
  • 举报
回复
有人么?
恋歌 2013-07-09
  • 打赏
  • 举报
回复
引用 1 楼 cai6811376 的回复:
qDeleteAll
qDeleteAll(ui->kindWidget->children()); 这么写么? 也不能清空咧

21,491

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧