Qt5Gui!QRasterPaintEngine::penChanged QT程序崩溃
自己开发了一个股票智能分析软件,功能很强大,需要的点击下面的链接获取:
https://www.cnblogs.com/bclshuai/p/11380657.html
1.问题描述
用QT 编写股票分析程序,总是偶然出现崩溃,崩溃之后对dump分析错误位置在 Qt5Gui!QRasterPaintEngine::penChanged
WARNING: Stack unwind information not available. Following frames may be wrong.
01a4c620 644ee689 01a4c890 07f28d08 01a4c890 Qt5Gui!QRasterPaintEngine::penChanged+0xc
01a4c63c 0f539e98 00000005 00000005 0000032e Qt5Widgets!QWidget::event+0x509
01a4c66c 0f533fb6 645b5490 01a4c890 0a5ccfb8 Qt5Gui!QRasterPaintEngine::toNormalizedFillRect+0x1b8
01a4c670 645b5490 01a4c890 0a5ccfb8 03c17508 Qt5Gui!QRasterPaintEngine::fillRect+0xa6
01a4c698 67049bfa 0a5ccfb8 01a4c890 0a5ccfb8 Qt5Widgets!QLineEdit::event+0x2a0
01a4c6c8 644d2506 644d251b 01a4c890 0a5ccfb8 Qt5Core!QCoreApplicationPrivate::sendThroughApplicationEventFilters+0x8a
01a4c6cc 644d251b 01a4c890 0a5ccfb8 67043c60 Qt5Widgets!QApplicationPrivate::notify_helper+0xf6
01a4c6e4 644d18fd 0a5ccfb8 01a4c890 03c09ce8 Qt5Widgets!QApplicationPrivate::notify_helper+0x10b
01a4c730 6453ffc4 0f4d6b50 00000002 01a4ca34 Qt5Widgets!QApplication::notify+0x16fd
01a4c74c 0f534266 01a4c780 17a60c78 01a4ca34 Qt5Widgets!QWindowsStylePrivate::devicePixelRatio+0x224
01a4ca78 0f57767d fffffffb fffffffb 01a4cad0 Qt5Gui!QRasterPaintEngine::fillRect+0x66
01a4ca9c 644f3042 0ac6b114 01a4cad0 01a4cadc Qt5Gui!QRegion::operator^=+0x52d
01a4cb5c 644edf8e 0ac6b114 0a581384 00000002 Qt5Widgets!QWidgetPrivate::paintSiblingsRecursive+0x352
00000000 00000000 00000000 00000000 00000000 Qt5Widgets!QWidgetPrivate::drawWidget+0x96e
2.问题分析
界面QGUI崩溃,没有指向具体的代码行,排除空指针等原因,考虑界面程序只能单线程访问,多线程访问,或者多个定时器定时控制访问界面,会导致界面崩溃。
3.解决办法
在有多线程或者定时器的场景中,使用信号槽去连接信号数据signalAddData和界面操作函数AddDataToCaculate,通过信号槽QueuedConnection队列属性去设置信号槽连接,达到队列的目的。
connect(this, &DaPanMonitor::signalAddData, this, &DaPanMonitor::AddDataToCaculate,Qt::QueuedConnection);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix