重新写一下,说清楚点。
运行环境是 windows xp, qt 4.7.3, mingw 编译。
我的 mainWindow 里面有个 lableLamp.
这个 label 里面的信息在 mainWindow 的一个 SLOT 当中被修改,如下:
labelLamp->setText(QApplication::tr("没找到"));
这个 SLOT 被连接到另外一个线程(工作线程)的 SIGNAL 上面。
这个工作线程开始工作之后,会不断的给 SIGNAL 出来,大概每秒一个。
labelLamp 要根据 SIGNAL 给出的数据更新,比如“找到了”或者“没找到”。
当我的这个 mainWindow 在 XP 中处于活动窗口的时候(窗口 Title 是深蓝色),上述机制运行得很好。
但是,如果这时候,这个窗口不是活动窗口了,这个 lableLamp 就不更新了。
我可以肯定,不管窗口是否活动,这个 SLOT 的函数是确实被调用了的(我向硬盘的日志文件输出日志)。
但这时候,lable 的显示确实就不更新了。
试过
labelLamp->repaint();
labelLamp->update();
都没有解决。
请前辈帮助,谢谢!!