Qt界面的一个问题

wopabe 2012-04-11 03:55:33
设计的Qt界面,上面有按钮和其他控件
当按有的按钮不相应后,界面就会死在那儿

怎么解决这个问题,指导个好方法
...全文
219 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
wopabe 2012-04-17
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]

引用 7 楼 的回复:

引用 5 楼 的回复:

先不要着急使用多线程,先把问题搞清楚。

停止响应的槽是想完成什么功能?

槽函数里面调用了一个函数,正常情况下这个函数短时间执行完,到非正常情况下,这个函数就卡住,一直停在函数里的一个语句上跳不出来。
我想在非正常情况下,函数执行一小段时间后,还没跳出来,我就不让它停止,跳出来。
怎么实现呢?

函数是你调用的库里……
[/Quote]
函数是自己写的,是做通讯的
就是当下位机出问题时,通讯中断,就卡住
tt2com 2012-04-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

引用 2 楼 的回复:

死在那里,肯定是点击按钮后进行了一个非常费时的操作.
或者是有阻塞程序的函数,比如QMutex等.
看看你的程序是干什么的?可能需要用到多线程

听几个人讲多线程
多线程怎么用啊,给个大概理解和思路
[/Quote]
debug 进去看看死在那了
xiachm 2012-04-12
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

引用 5 楼 的回复:

先不要着急使用多线程,先把问题搞清楚。

停止响应的槽是想完成什么功能?

槽函数里面调用了一个函数,正常情况下这个函数短时间执行完,到非正常情况下,这个函数就卡住,一直停在函数里的一个语句上跳不出来。
我想在非正常情况下,函数执行一小段时间后,还没跳出来,我就不让它停止,跳出来。
怎么实现呢?
[/Quote]
函数是你调用的库里的?还是你自己写的?要是你自己写的,那就改造这个函数,让它支持超时退出的功能。否则只能用多线程了。

你这个函数是在做通讯吗?
wopabe 2012-04-12
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

先不要着急使用多线程,先把问题搞清楚。

停止响应的槽是想完成什么功能?
[/Quote]
槽函数里面调用了一个函数,正常情况下这个函数短时间执行完,到非正常情况下,这个函数就卡住,一直停在函数里的一个语句上跳不出来。
我想在非正常情况下,函数执行一小段时间后,还没跳出来,我就不让它停止,跳出来。
怎么实现呢?
xiachm 2012-04-12
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]

那你可以搞一个定时器,当执行该槽函数的时候开始计时,当执行完后停止计时,当达到了某个时间还末执行完,你就可以实现你所说的功能了~
[/Quote]在单线程环境下实现不了的
fq15973135977 2012-04-12
  • 打赏
  • 举报
回复
那你可以搞一个定时器,当执行该槽函数的时候开始计时,当执行完后停止计时,当达到了某个时间还末执行完,你就可以实现你所说的功能了~
ghosty_hand 2012-04-11
  • 打赏
  • 举报
回复
中断一下,看GUI线程在做什么。
xiachm 2012-04-11
  • 打赏
  • 举报
回复
先不要着急使用多线程,先把问题搞清楚。

停止响应的槽是想完成什么功能?
riyue1108 2012-04-11
  • 打赏
  • 举报
回复
class MyThread : public QThread//定义你自己的线程类
{
public:
void run();//重载你的run函数
};

void MyThread::run()
{
//做你的事情,及开定时器等
exec();//进入线程的事件循环
}

QThread::start()//启动你的线程
wopabe 2012-04-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

死在那里,肯定是点击按钮后进行了一个非常费时的操作.
或者是有阻塞程序的函数,比如QMutex等.
看看你的程序是干什么的?可能需要用到多线程
[/Quote]
听几个人讲多线程
多线程怎么用啊,给个大概理解和思路
riyue1108 2012-04-11
  • 打赏
  • 举报
回复
死在那里,肯定是点击按钮后进行了一个非常费时的操作.
或者是有阻塞程序的函数,比如QMutex等.
看看你的程序是干什么的?可能需要用到多线程
我是学友 2012-04-11
  • 打赏
  • 举报
回复
这个问题说的有点模糊啊,点击按钮界面就死,是不是槽函数里面一些处理没写好

16,202

社区成员

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

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