C语言
您现在所在的位置:首页>企业动态>C语言

技术分享|Qt绘图之时钟

编辑:学到牛牛IT培训    发布日期: 2022-09-30 16:34:34  

Qt简介

Qt 由奇趣科技公司(Trolltech)的两位创始人于1990年着手开发,1995年发布Qt 1.0。2008年,奇趣科技被诺基亚公司收购,Qt也因此成为诺基亚旗下的编程语言工具。在智能手机的冲击下诺基亚大厦轰然倒塌,2012年将 Qt 转让给Digia公司。Digia 是一家总部位于芬兰的IT业务供应商,每天向全球数以百万的人提供通讯技术的及时解决方案,业务涉及电信、工业、贸易、金融等,客户包括诺基亚、索尼爱立信、惠普、甲骨文等全球一流企业。超过1200名研发精英分别位于芬兰、瑞典、爱沙尼亚、俄罗斯、中国等地为客户提供端到端的服务。

图片

准备

硬件:一台电脑

软件:(IDE)Qt Creator 4.5.0(Community)、(版本)Qt5.9.4


创建项目


图片


点击“New Project”创建新项目


图片


如上图所示选择之后点击左下角的choose


图片


自定义项目名称和项目路径


图片


选择引用(Qt的版本)


图片


定义类名、头文件名和源文件名


图片


选择默认


图片


创建成功

需要的头文件


图片


绘制表盘


首先我们要确定绘制表盘需要哪些参数,半径和Π?按照数学的逻辑来说确实没错,不过把它运用到计算机中还是需要有所改变才可以,表盘的制作需要用到void QPainter::drawEllipse(int x, int y, int width, int height)这个函数,这是一个过载功能。以给定的宽度和高度绘制由从 (x, y) 开始的矩形定义的椭圆。



绘制刻度盘


绘制刻度盘我们需要知道每次转动的角度是多少,时钟有12个大的刻度,每个大的刻度有5个小刻度,所有秒钟每秒转动的角度为360/60 = 6°。圆心所在竖线上方向为y轴正半轴,0°参考点为x轴正半轴,顺时针旋转。从12点处开始绘制,那么我们的基础仰角就是90° * 3 = 270°,接下来依次是276°、282°。


绘制指针


时钟的指针分为时针、分针和秒针,原理基本上一模一样, 时针我们将其看作是一个等腰三角形,底边在中心指针圆域中,顶点指向刻度,所以我们需要知道三个点的坐标才可以绘制出时针(三角形)。


流程


首先我们分别通过

QTime::currentTime.hour

QTime::currentTime.minute

QTime::currentTime.second

获取系统的时、分、秒然后再把值赋给Hs、Ms、Ss,如何实时更新时间呢?我们需要一个定时器QTimer值设为1000,表示每间隔1秒返回一次系统时间。


实现

头文件


图片

图片

图片


.cpp文件


图片

图片

图片

图片

图片

图片

图片

图片

图片


效果图


图片


免费试学
课程好不好,不如实地听一听

封闭学习

2

1

联系我们

电话:028-61775817

邮箱:1572396657@qq.com

地址:成都市金牛区西城国际A座8楼

  • 扫一扫,免费咨询

  • 微信公众号

学一流技术,找高薪工作

7-24小时服务热线:

028-61775817

版权声明 网站地图

蜀ICP备2021001672号

课程问题轻松问