星期六下午4点,还在公司加班.终于写完了下周要交工的一个程序. 郁闷,今天这几个小时写了有上千行代码吧?虽然大部分都是Ctrl-C+Ctrl-V,但还是郁闷. 作为一个有10年经验的MFC程序员,郁闷啊...... 当初上大学的时候,就是冲着MFC这3个字去学的. Microsoft Foundation Classes 多么的NB.仿佛这些C打头的类就是构建微软大厦的一根根螺钉. 记不清有多少个日日夜夜守在电脑旁,用VC6的ClassWizard不知疲倦的添加一个又一个的类. 也记不清翻看了多
非Qt工程,使用Qt的信号槽机制,蛋疼不?反正我现在就是要做这样一件蛋疼的事. 要使用Qt的信号槽机制,下面是从Qt Assist里面关于 signal & slots 的一句介绍: All classes that contain signals or slots must mention Q_OBJECT at the top of their declaration. They must also derive (directly or indirectly) from QObject.
在Delphi里我记得是使用TThread.Synchronize(TThreadMethod),原理是利用了一个隐藏窗口来处理. 在QT Debug模式一下,碰到了同样的问题,显示错误: cannot send events to objects owned by a different thread 解决方案是使用信号槽,就是在线程里不断的发信号,UI线程的槽函数不断的接受信号并做处理: So as a solution I would propose the following: Defi