• 5156阅读
  • 8回复

如何实现 一按键 中断另一按键的程序的执行 [复制链接]

上一主题 下一主题
离线catamout
 

只看楼主 倒序阅读 楼主  发表于: 2010-05-12
有两个QPushButton 分别为  START 和 STOP 。当按下START时,调用相应的程序(执行时间 会很长),我想在按下STOP时候,START中的对应程序 能停止运行 ,请问 用什么方法可以实现这种功能呢?
离线dbzhang800

只看该作者 1楼 发表于: 2010-05-12
C++ Gui Qt4 编程(第二版)

7.3节

14章
离线yangfanxing
只看该作者 2楼 发表于: 2010-05-12
单线程的话。。。简单的理解为
STOP发送一个全局之类的信号;
START的槽函数中查询这个信号(比如循环体中,每次大的循环过后查询这个信号),查寻到->return;
就这么着可以吧。。。
PHPWind好恶心。。。不想看这种界面。。。
离线catamout

只看该作者 3楼 发表于: 2010-05-12
2楼说的 我有试过 但是 在槽函数中执行的时候 (如果没有其他的机制的话 就是单单相应 START的clicked()信号外加查询一全局变量) ,整个界面 会冻结住 ,就是 根本无法 按 按钮 。就更电脑死机了一样
离线yangfanxing
只看该作者 4楼 发表于: 2010-05-12
引用第3楼catamout于2010-05-12 09:22发表的  :
2楼说的 我有试过 但是 在槽函数中执行的时候 (如果没有其他的机制的话 就是单单相应 START的clicked()信号外加查询一全局变量) ,整个界面 会冻结住 ,就是 根本无法 按 按钮 。就更电脑死机了一样

我随口一说哈~
你可以参张老师怎么说的~~~见1L。
PHPWind好恶心。。。不想看这种界面。。。
离线catamout

只看该作者 5楼 发表于: 2010-05-12
是跟 2楼那样的理解 可 不知道怎么实现....。
离线catamout

只看该作者 6楼 发表于: 2010-05-12
嗯 我正在看 ... 先谢谢两位了
离线yangfanxing
只看该作者 7楼 发表于: 2010-05-12
引用第5楼catamout于2010-05-12 09:27发表的  :
是跟 2楼那样的理解 可 不知道怎么实现....。

你说的情况也确实是,当一些大型运算时似乎占满了线程,再去触发另外一个信号(按钮),似乎不现实(或者说根本就是不对的),就算可以从用户的角度来说也很不方便。
我的理解可能偏窄了些,所以那样说了。或许考虑线程之类的东西,手头上有资料的话参1L,张老师一直是很犀利的~呵呵。。。
PHPWind好恶心。。。不想看这种界面。。。
离线catamout

只看该作者 8楼 发表于: 2010-05-12
我用了 1 楼 张老师说的 7.3节的那样  可以了 谢谢...  不过对 Application::processEvent() 还很模糊
快速回复
限100 字节
 
上一个 下一个