QT 自定义窗口释放崩溃的问题(抓狂了!!!)求指明一个方向

marslycan 2021-04-19 02:01:20
是这样的,我现在封装了一个显示窗口 并为窗口写了一个工具栏窗口,然后将这两个界面封装成一个动态库导出:
	
m_pGraphicsWidget = new GcImageWidget(this);
m_pToolBox = new GcImageWidgetToolBox(m_pGraphicsWidget, this);
// //
m_mainlayout = new QGridLayout();
m_mainlayout->addWidget(m_pToolBox, 0, 0);
m_mainlayout->addWidget(m_pGraphicsWidget, 0, 1);

setLayout(m_mainlayout);


通过设置了布局,让工具栏与视图窗口可以创建出来
然后我创建了一个对话框去调用这个库,并在构造时创建该对象(这里测试Demo我并未写显示啥的)
m_ImageView = new GcGraphicsWindow(this);

然后我关闭对话框时就会崩溃~~~~~然后调试发现一直是析构该对象时崩溃~~


...全文
491 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
marslycan 2021-04-19
  • 打赏
  • 举报
回复
引用 2 楼 芒果黑 的回复:
感觉库的链接有问题 你是静态调用?调用的库返回的对象的内存是在所调用的dll处开辟的 主进程释放资源就会有问题
现在解决了,我在主程序析构的时候主动Delete这个对象,然后滞空就行了/;但是依旧想不通,析构自动调用子模块析构函数就会崩溃~~~~
芒果黑 2021-04-19
  • 打赏
  • 举报
回复
感觉库的链接有问题 你是静态调用?调用的库返回的对象的内存是在所调用的dll处开辟的 主进程释放资源就会有问题
marslycan 2021-04-19
  • 打赏
  • 举报
回复
我把库内构造内所有NEW都屏蔽了,一个空的构造,一个空的析构,也就是外部NEW的时候仅仅创建一个窗口,还是崩溃,看来跟下面的窗口类和工具栏没有关系

16,211

社区成员

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

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