您的位置:首页 > 编程语言 > Qt开发

Qt练习之自定义时钟

2015-10-14 20:59 453 查看
在QtProject中自学Qt时,上面有一个实例是编写时钟的,其中用到了QTimer,信号和槽以及事件的知识,是练习Qt的好例子,本人在实例上添加了秒钟的设置,从而更加像一个使用的时钟表了,下面展示一下运行结果。



下面我来和大家分享一下,具体实现,类AnalogClock是自定义类,它继承于QWidget类,下面代码是定义类的构造函数,在其中我定义了一个QTimer类,并为Timer对象添加了信号和槽,槽函数update()每执行一次,都将会调用下面我定义的paintEvent()函数(paintEvent()函数是一个虚函数,我在自定义类中实现重写了它,函数内容将在下面为大家讲到)。



一下都是paintEvent()函数内容,下面定义了三个Qpoint 数组,在时钟里分别代表小时,分钟,秒的走针,再定义三个QColor对象,分别为下面小时,分钟,秒走针

设置颜色,



获得当前时间值,并创建了painter对象,translate()函数是将Vector(dx,dy)转换为坐标系统,



下面设置画刷和画笔,分别画出小时的走针和小时的刻度盘其中rotate()函数表示顺时针旋转坐标系统,参数表示旋转的角度,drawConvexPolygon()函数表示画出凸多边形,



下面设置画刷和画笔,分别画出分钟的走针和分钟的刻度盘



下面是本人根据小时和分钟添加的秒钟的编写,其中需要注意的是秒钟的刻度盘的需要旋转的角度,



以上是更具QtProject中的实例改编。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: