qt creator自带的button跟以前用过的android button类差不多,能用别人封装好的类就是爽啊,就是完善一下部分功能就ok了。
之前跑通的ds18b20驱动,放到qt那里,本来挺完美的,但是问题出现了,button类不支持触屏,这下就坑爹了,也就是说qt界面起来之后只能无限地读,无法板子上自行终止,当然如果设置循环次数也算的话= =
本来想过弄一下qtopia看看触屏能不能用,不过还是觉得太麻烦了,于是目标转到了那几个红色的button上。
先用官方例程跑了跑,发现button驱动是阻塞行的,不改变按键状态他就不动了= =有利有弊吧~
要监控这样的事件,参照之前android那个socket通信的例子,用多线程。android有handle,不知道qt有什么呢,根据我的经验这种GUI的线程不好对付啊。查了一下,有自带的qthread,但是我加上qobject想通过connect来处理信号的时候死活通不过,删了就好了,但是问题又出现了,老是段错误,或者提示线程在退出的时候还没完。经过无尽的尝试,发现原来我把新的keythread放到wedgit里面了,可能是这样导致错误,把keytread放到main里面,再定义一个全局变量flag,当读到按键变化得时候改变,让读温度的动作停止。
虽然手法比较低端,但总算是完成了。