替代QDockWidget的小部件,而没有删除以前的窗口
Substitute widget of QDockWidget without deletion of previous
我想替换qdockwidget*的窗口小部件(qwidget*(,但请致电setWidget((,删除先前的窗口小部件。如何防止此删除?
QDockWidget* dw = new QDockWidget;
QWidget* tw1 = new TestWidget;
QWidget* tw2 = new TestWidget;
dw->setWidget(tw1);
dw->setWidget(tw2); // tw1 deleted here
delete dw;
// I want to use tw1 here, but it died
testwidget只是检查删除时刻的测试:
class TestWidget : public QWidget {
public:
TestWidget(QWidget* parent = nullptr)
: QWidget(parent)
{
cout << "TestWidget() " << this << endl;
}
~TestWidget() override {
cout << "~TestWidget() " << this << endl;
}
};
QDockWidget* dw = new QDockWidget;
QWidget* tw1 = new TestWidget;
QWidget* tw2 = new TestWidget;
dw->setWidget(tw1);
dw->setWidget(tw2);
tw1->setParent(0);
delete dw; // dw and tw2 deleted here, but not tw1
相关文章:
- 如何完全删除窗口的非工作区?
- 如何从 CLion 的运行窗口中删除程序项目路径
- 删除父/子窗口层次结构的最佳方法
- 如何从窗口中删除 TOPMOST 属性
- 替代QDockWidget的小部件,而没有删除以前的窗口
- 尝试使用窗口注册表中的路径和 DeleteFile() 方法删除.exe文件
- 先前在MFC中删除窗口
- QT调整窗口大小后,删除窗口后
- 事件在发布到Qt中的窗口时从队列中删除
- Qt 删除窗口小部件
- 如何枚举和删除窗口事件
- 如何永久删除主窗口标题栏
- 如何删除窗口
- 删除窗口中正在运行的文件
- ncurses:是否可以在不删除边框的情况下刷新窗口
- Qt QMainWindow中央窗口小部件删除
- 在QT关闭时从子窗口句柄中删除内存
- 如何删除Qt窗口的所有子窗口
- 从使用glfw创建的窗口中删除最大化按钮
- 应该重新绘制B样条曲线,而不删除窗口的所有其余部分