gpt4 book ai didi

c++ - Qt应用程序界面卡住

转载 作者:太空宇宙 更新时间:2023-11-04 12:54:12 28 4
gpt4 key购买 nike

我的嵌入式应用程序遇到了一些问题。这是一个页面,其中包含每秒计算时间的 QTimeEdit、一些复选框和一些每秒刷新的 QLineEdit

工作几分钟后,我看到界面卡住,即使应用程序仍在运行。如果尝试按下按钮或复选框,则会出现访问冲突消息:

Exception 'Access Violation' (14): Thread-Id=05d80002(pth=8af6109c), Proc-Id=04a90002(pprc=91431714) 'nmb3.exe', VM-active=04a90002(pprc=91431714) 'nmb3.exe' PC=407ea307(qtgui4.dll+0x0005a307) RA=40d6c82c(qtgui4.dll+0x005dc82c) SP=01c1b928, BVA=00000004

异常与qtgui4.dll有关。我检查了是否发生了虚拟内存饱和,但这不是导致卡住的问题。

如果我避免更新 QTimeEdit,则不会发生卡住,但我不明白为什么。

最佳答案

您应该将计时器移到主窗口类中,将传感器处理程序保留在单独的线程中。

传感器处理程序应该:

  • 存储数据
  • 向窗口发出“数据就绪”信号

然后主窗口中的计时器,每秒,将:

  • 从传感器处理程序中读取数据
  • 更新图形用户界面

(确保您使用的是线程安全对象或管理临界区)

关于c++ - Qt应用程序界面卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47414200/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com