如何在Qt中删除Widget中的对象

时间:2015-06-17 12:44:36

标签: qt user-interface widget

我的MainWindow表单里面有Widget。我有另一个Widget类(promoted to MainWindow),里面只有DockWidget。在MainWindow我打开新的并放入Widget。但是当我关闭{{1}时}来自DockWidget按钮。在close(cross"X")内部,它不是在清理..

抱歉我的英文不好,最好在此处粘贴我的代码:

MainWindow

因此,尽管我关闭了 qDebug() << ui->widget->layout()->count(); QueryWidget *lQueryWidget = new QueryWidget(this); ui->widget->layout()->addWidget(lQueryWidget); ,但DockWindow(lQueryWidget)永远不会减少。我试图删除布局内的所有内容;

layout()->count()

但是它永远不会进入foreach循环..如果你查看下面的图片,你会发现DockWidget上面有一些东西,但它不可见..你能帮我解决一下这个问题吗?

enter image description here

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:0)

要制作可停靠的小部件,您应该使用

QDockWidget::setWidget(QWidget * widget)

删除停靠窗口小部件时,窗口小部件将被删除 您不应该操纵停靠小部件布局。