news 2026/4/16 16:03:16

用QT绘制一个简单的时钟

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
用QT绘制一个简单的时钟

定义时钟类AnalogClock.h

#ifndef ANALOGCLOCK_H #define ANALOGCLOCK_H #include <QWidget> class AnalogClock : public QWidget { Q_OBJECT public: AnalogClock(QWidget *parent = nullptr); ~AnalogClock(); protected: void paintEvent(QPaintEvent *event); }; #endif // ANALOGCLOCK_H

实现时钟类

#include "analogclock.h" #include<QTimer> #include <QTime> #include <QPainter> AnalogClock::AnalogClock(QWidget *parent) : QWidget(parent) { QTimer *timer = new QTimer(this); connect(timer,SIGNAL(timeout()),this,SLOT(update())); timer->start(1000); setWindowTitle(tr("Analog Clock")); resize(200,200); } AnalogClock::~AnalogClock() { } void AnalogClock::paintEvent(QPaintEvent *event) { static const QPoint hourHand[3] = { QPoint(7,8), QPoint(-7,8), QPoint(0,-40) }; static const QPoint minuteHand[3] = { QPoint(7,8), QPoint(-7,8), QPoint(0,-70) }; QColor hourColor(127,0,127); QColor minuteColor(0,127,127,191); int side = qMin(width(),height()); QTime time = QTime::currentTime(); QPainter painter(this); painter.setRenderHint(QPainter::Antialiasing); painter.translate(width()/2,height()/2); painter.scale(side / 200.0,side / 200.0); painter.setPen(Qt::NoPen); painter.setBrush(hourColor); painter.save(); painter.rotate(30.0*((time.hour() + time.minute() / 60.0))); painter.drawConvexPolygon(hourHand,3); painter.restore(); painter.setPen(hourColor); for(int i = 0;i < 12;i++){ painter.drawLine(88,0,96,0); painter.rotate(30.0); } painter.setPen(Qt::NoPen); painter.setBrush(minuteColor); painter.save(); painter.rotate(6.0 * (time.minute() + time.second() / 60.0)); painter.drawConvexPolygon(minuteHand,3); painter.restore(); painter.setPen(minuteColor); for(int j = 0;j < 60;j++){ if((j % 5) != 0) painter.drawLine(92,0,96,0); painter.rotate(6.0); } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 11:59:29

Scroll Reverser终极指南:告别Mac滚动方向混乱的困扰

Scroll Reverser终极指南&#xff1a;告别Mac滚动方向混乱的困扰 【免费下载链接】Scroll-Reverser Per-device scrolling prefs on macOS. 项目地址: https://gitcode.com/gh_mirrors/sc/Scroll-Reverser 作为Mac用户&#xff0c;你是否曾在触控板和鼠标之间切换时感到…

作者头像 李华
网站建设 2026/4/16 11:59:26

如何用MGeo提升在线教育平台学员信息质量

如何用MGeo提升在线教育平台学员信息质量 引言&#xff1a;在线教育平台的地址数据挑战 在快速发展的在线教育行业中&#xff0c;精准的学员信息管理是实现个性化服务、优化物流配送&#xff08;如教材寄送&#xff09;、提升运营效率的核心基础。然而&#xff0c;一个长期被…

作者头像 李华
网站建设 2026/4/16 9:31:44

3步掌握Mermaid Live Editor:从图表新手到专业设计师的成长路径

3步掌握Mermaid Live Editor&#xff1a;从图表新手到专业设计师的成长路径 【免费下载链接】mermaid-live-editor Edit, preview and share mermaid charts/diagrams. New implementation of the live editor. 项目地址: https://gitcode.com/GitHub_Trending/me/mermaid-li…

作者头像 李华
网站建设 2026/4/16 12:01:54

ncmdumpGUI终极指南:3步快速解密网易云音乐NCM格式文件

ncmdumpGUI终极指南&#xff1a;3步快速解密网易云音乐NCM格式文件 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换&#xff0c;Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI ncmdumpGUI是一款专门用于网易云音乐NCM格式…

作者头像 李华
网站建设 2026/4/16 11:59:19

抖音视频批量下载终极方案:一键获取全系列作品

抖音视频批量下载终极方案&#xff1a;一键获取全系列作品 【免费下载链接】douyinhelper 抖音批量下载助手 项目地址: https://gitcode.com/gh_mirrors/do/douyinhelper 还在为手动保存抖音视频而烦恼吗&#xff1f;抖音批量下载助手为您提供了一套完整的自动化解决方案…

作者头像 李华
网站建设 2026/4/16 0:34:23

拯救消失的VHS_VideoCombine节点:3分钟搞定ComfyUI视频合成难题

拯救消失的VHS_VideoCombine节点&#xff1a;3分钟搞定ComfyUI视频合成难题 【免费下载链接】ComfyUI-VideoHelperSuite Nodes related to video workflows 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-VideoHelperSuite 当你满怀期待地打开ComfyUI准备合成视…

作者头像 李华