首页 > Windows开发 > 详细

猜测:信号槽的本质是使用Windows的自定义消息来实现的

时间:2016-09-30 20:47:17      阅读:185      评论:0      收藏:0      [点我收藏+]

在不断执行:

void MyTool::DeleteAllFiles()
{
for (i = 0; i <= n - 1; i++) {
// do something
}
}
在for循环没有执行完毕的情况下,外部给这个类发信号,根本接受不到信号。就非得这样写:

void MyTool::DeleteAllFiles()
{
for (i = 0; i <= n - 1; i++) {
QApplication::processEvents();
// do something
}
}
或者:
void MyTool::DeleteAllFiles()
{
QEventLoop loop;
for (i = 0; i <= n - 1; i++) {
loop.processEvents();
// do something
}
}
这样才能保证队列信号可以被及时收到并触发槽函数。但是如此熟悉的风格,我只能怀疑信号槽的本质就是Windows消息机制了。。。。。。。。

http://www.qtcn.org/bbs/read-htm-tid-62003-ds-1-page-1.html

猜测:信号槽的本质是使用Windows的自定义消息来实现的

原文:http://www.cnblogs.com/findumars/p/5924508.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!