社区
Qt
帖子详情
qt鼠标
挣扎中前行
2011-12-27 12:47:47
我移植了一个QT程序,运行后一点开始按钮鼠标就不动了,和死机一样,等工作完成后鼠标又可以操作了。感觉从多任务系统变成了单任务系统;那位大侠能给分析下原因啊?不胜感激
...全文
181
12
打赏
收藏
qt鼠标
我移植了一个QT程序,运行后一点开始按钮鼠标就不动了,和死机一样,等工作完成后鼠标又可以操作了。感觉从多任务系统变成了单任务系统;那位大侠能给分析下原因啊?不胜感激
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
挣扎中前行
2011-12-29
打赏
举报
回复
使用循环了。用信号和槽的方式问题解决了谢谢
[Quote=引用 11 楼 xiachm 的回复:]
在次线程中无法访问UI部件,需要用信号和槽的方式。从你刚才的描述中,我看不出在哪里耗时,就是几个判断。
你使用了循环?还是在读取数据时阻塞了?
[/Quote]
xiachm
2011-12-28
打赏
举报
回复
在次线程中无法访问UI部件,需要用信号和槽的方式。从你刚才的描述中,我看不出在哪里耗时,就是几个判断。
你使用了循环?还是在读取数据时阻塞了?
念茜
2011-12-27
打赏
举报
回复
得看你移植的程序设计,卡用户界面UI的设计应该是单进程的唉
挣扎中前行
2011-12-27
打赏
举报
回复
耗资源的原因是当按下开始按钮触发槽函数,在其中检查checkbox有无选中判断是否对usb设备连续(长度1-255,主要检测设备稳定性)命令请求,同时在outTextEdit中输出检测信息。
麻烦大家给点想法如何将其在线程中实现?线程中如何使用checkbox,outTextEdit这些类?谢谢大家啦
挣扎中前行
2011-12-27
打赏
举报
回复
耗资源的原因是当按下开始按钮触发槽函数,在其中检查checkbox有无选中判断是否对usb设备连续(长度1-255,主要检测设备稳定性)命令请求,同时在outTextEdit中输出检测信息。
麻烦大家给点想法如何将其在线程中实现?线程中如何使用checkbox,outTextEdit这些类?谢谢大家啦
挣扎中前行
2011-12-27
打赏
举报
回复
在次线程中我怎么引用主线程的类呢,子线程我要判断checkbox有无选中再做是否对设备连续发送命令的操作,刚运行出错了;
我该如何实现,给点建议
[Quote=引用 7 楼 xiachm 的回复:]
在你的程序运行时注意看CPU的利用率,如果接近或达到100%说明你的程序在循环执行复杂操作。
在这种情况下,它在主线程和次线程下的表现基本一致。解决的办法是把耗时的代码放到次线程中,并加入适当的sleep
还有一种情况是cpu利用率不高,但你的程序依然不响应。这种情况和楼上说的一样,你的主线程八成被阻塞了。应该使用异步的方法,或是把代码搬到次线程中。
[/Quote]
xiachm
2011-12-27
打赏
举报
回复
在你的程序运行时注意看CPU的利用率,如果接近或达到100%说明你的程序在循环执行复杂操作。
在这种情况下,它在主线程和次线程下的表现基本一致。解决的办法是把耗时的代码放到次线程中,并加入适当的sleep
还有一种情况是cpu利用率不高,但你的程序依然不响应。这种情况和楼上说的一样,你的主线程八成被阻塞了。应该使用异步的方法,或是把代码搬到次线程中。
ABECD
2011-12-27
打赏
举报
回复
开个线程,不就什么都搞定了吗?
你可能遇到了阻塞函数,如sleep() accept()等。
挣扎中前行
2011-12-27
打赏
举报
回复
我在那里创建子进程合理啊?我在按钮的槽中可以使用fork(),让子进程处理按钮响应,一运行报这样的错误Xlib: unexpected async reply (sequence 0xbf0)!
念茜
2011-12-27
打赏
举报
回复
[Quote=引用 2 楼 zhenwo123 的回复:]
引用 1 楼 yiyaaixuexi 的回复:
得看你移植的程序设计,卡用户界面UI的设计应该是单进程的唉
麻烦你能说的详细些吗?什么是卡用户界面的?我该怎样该程序才能实现多任务的,经理催好几遍了·········
[/Quote]
你点击按钮后的处理,应该另外匹一个进程出去做,不是在本进程里,否则就会卡主鼠标的响应,就是你现在卡顿的现象。
刀刀亮
2011-12-27
打赏
举报
回复
楼上那是打错字了吧。应该是用户界面UI是单进程的。所以你要确定一下是不是你的程序在运行过程总是不是有很费进程的操作。造成页面假死。如果是 那就对他进行多线程。
挣扎中前行
2011-12-27
打赏
举报
回复
[Quote=引用 1 楼 yiyaaixuexi 的回复:]
得看你移植的程序设计,卡用户界面UI的设计应该是单进程的唉
[/Quote]
麻烦你能说的详细些吗?什么是卡用户界面的?我该怎样该程序才能实现多任务的,经理催好几遍了·········
QT
自定义精美换肤界面
1:无边框窗体,自定义标题栏,
鼠标
拖动,大小缩放,双击切换。 2:除了少量的几个图片资源外,几乎使用QSS写完所有颜色样式控制。 3:自定义一个QMessageBox对话框,自动换行显示提示信息,可以很方便的调用。 4:...
Qt
鼠标
事件全面解析:从基础到实战
Qt
鼠标
事件全面解析:从基础到实战
Qt
鼠标
拖动绘制基本几何图形
用
Qt
鼠标
事件实现基本几何图形的绘制,支持直线、矩形、圆形、椭圆。后期可以在此基础上进行扩展。本文Demo下载地址。
qt
鼠标
点击事件
【代码】
qt
鼠标
点击事件。
Qt
鼠标
事件—实现移动按钮
Qt
鼠标
事件,是重写
Qt
中虚函数的功能进行具体实现,通过检测
鼠标
位置可以制作出永远点不到的按钮,或者点击后随机移动的按钮。下面是
鼠标
事件和对应函数
鼠标
事件函数
鼠标
点击
鼠标
弹开
鼠标
移动
鼠标
双击。
Qt
21,489
社区成员
26,693
社区内容
发帖
与我相关
我的任务
Qt
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
复制链接
扫一扫
分享
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章