1

关于Qt5的观察者模式的一点探索。
本周我学习的是Qt5的相关内容,根据老师的要求,需要做一个能够接收point的坐标系,然后把接收的点在坐标系上画出来。
老师说的时候是说接收point要用到观察者模式,每次接收一个点,然后就通知坐标轴,然后描线,但是我百度查了一下,发现Qt里面没有自带的观察者函数,都是自定义的方法。

大概思路如下
clipboard.png

本来我想照着搬过来一个代码,先看看怎么实现的,结果发现各种报错,自己也没办法解决,直到有一次我在ui界面设置绑定事件的时候,发现了一个changed()事件,我个人感觉这个和观察者模式的检测更新然后发通知有点类似。

clipboard.png

还可以在后面的括号里加上参数,让他每次接收一个点。
然后把画点的函数写在里面

clipboard.png

当然目前这个drawPoint方法出现了一点问题,point这个点的数据是能传过去的,但是还不能把点画出来。

clipboard.png

关于Qt里面的sleep
Qt里面自带的sleep是通过让线程休眠来实现的,这个在用的时候会让整个程序处于不能点击状态,一旦点击就会报错退出,这个当然不是我们想要的,于是我看了百度,通过简单的几句就实现了我们需要的sleep

clipboard.png

这个是通过设定一个比系统时间多msec毫秒的时间,在系统时间达到这个时间之前,一直进行循环,这样并不会让程序死机,还实现了延迟的功能。


户瑞彤
46 声望8 粉丝

引用和评论

0 条评论