用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); } }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1127080.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸣潮自动化工具高效使用指南:智能挂机与战斗优化全解析

鸣潮自动化工具高效使用指南&#xff1a;智能挂机与战斗优化全解析 【免费下载链接】ok-wuthering-waves 鸣潮 后台自动战斗 自动刷声骸上锁合成 自动肉鸽 Automation for Wuthering Waves 项目地址: https://gitcode.com/GitHub_Trending/ok/ok-wuthering-waves 鸣潮自…

MGeo在移动通信基站管理中的应用

MGeo在移动通信基站管理中的应用 引言&#xff1a;基站管理中的地址对齐挑战 在移动通信网络建设与运维过程中&#xff0c;基站&#xff08;Base Station&#xff09;的地理信息管理是核心环节之一。随着5G网络的大规模部署&#xff0c;全国范围内的基站数量已突破数百万级&a…

PPTTimer:专业演讲时间管理系统

PPTTimer&#xff1a;专业演讲时间管理系统 【免费下载链接】ppttimer 一个简易的 PPT 计时器 项目地址: https://gitcode.com/gh_mirrors/pp/ppttimer 项目概述与核心价值 PPTTimer是一款基于AutoHotkey开发的Windows平台专用计时工具&#xff0c;专门为PowerPoint演示…

自动化数据管道:MGeo集成ETL流程实现定时匹配

自动化数据管道&#xff1a;MGeo集成ETL流程实现定时匹配 在地理信息处理、用户地址管理、物流系统等实际业务场景中&#xff0c;地址数据的标准化与实体对齐是构建高质量数据底座的关键环节。由于中文地址存在表述多样、缩写习惯不一、层级嵌套复杂等问题&#xff08;如“北京…

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;你是否曾在触控板和鼠标之间切换时感到…

5步彻底解决Zotero文献库重复条目:智能合并插件完全指南

5步彻底解决Zotero文献库重复条目&#xff1a;智能合并插件完全指南 【免费下载链接】ZoteroDuplicatesMerger A zotero plugin to automatically merge duplicate items 项目地址: https://gitcode.com/gh_mirrors/zo/ZoteroDuplicatesMerger 还在为Zotero文献库中大量…

Applite终极指南:快速掌握macOS软件管理神器

Applite终极指南&#xff1a;快速掌握macOS软件管理神器 【免费下载链接】Applite User-friendly GUI macOS application for Homebrew Casks 项目地址: https://gitcode.com/gh_mirrors/ap/Applite 还在为Mac上的软件安装和更新而烦恼吗&#xff1f;每次都要打开终端输…

如何用MGeo提升城市公园游客服务精准度

如何用MGeo提升城市公园游客服务精准度 引言&#xff1a;从“模糊地址”到“精准服务”的城市治理挑战 在智慧城市建设中&#xff0c;城市公园作为重要的公共空间&#xff0c;承载着市民休闲、健身、社交等多重功能。然而&#xff0c;随着城市规模扩大和游客来源多样化&#…

如何快速解锁网易云NCM文件:ncmdumpGUI一站式解决方案

如何快速解锁网易云NCM文件&#xff1a;ncmdumpGUI一站式解决方案 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换&#xff0c;Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 还在为网易云音乐下载的NCM格式文件无法在其…

如何彻底解决魔兽争霸3在现代系统上的兼容性问题?

如何彻底解决魔兽争霸3在现代系统上的兼容性问题&#xff1f; 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为心爱的魔兽争霸3在新电脑上频繁闪…

Z-Image-Turbo项目地址汇总:ModelScope与GitHub同步更新

Z-Image-Turbo项目地址汇总&#xff1a;ModelScope与GitHub同步更新 阿里通义Z-Image-Turbo WebUI图像快速生成模型 二次开发构建by科哥 运行截图 Z-Image-Turbo WebUI 用户使用手册 欢迎使用 Z-Image-Turbo AI 图像生成 WebUI&#xff01;本手册将帮助您快速上手并充分利用…

VHS_VideoCombine节点消失?5分钟教你重新找回视频合成核心功能

VHS_VideoCombine节点消失&#xff1f;5分钟教你重新找回视频合成核心功能 【免费下载链接】ComfyUI-VideoHelperSuite Nodes related to video workflows 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-VideoHelperSuite 当你在ComfyUI中准备将精心制作的图像序…

Scroll Reverser终极配置指南:让Mac多设备滚动体验完美统一

Scroll Reverser终极配置指南&#xff1a;让Mac多设备滚动体验完美统一 【免费下载链接】Scroll-Reverser Per-device scrolling prefs on macOS. 项目地址: https://gitcode.com/gh_mirrors/sc/Scroll-Reverser 你是否曾经在MacBook的触控板和外接鼠标之间来回切换时&a…

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

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

公共安全预警:MGeo关联重点人员活动轨迹

公共安全预警&#xff1a;MGeo关联重点人员活动轨迹 引言&#xff1a;从地址数据到公共安全的智能预警 在城市治理与公共安全领域&#xff0c;如何高效识别潜在风险、提前预警异常行为&#xff0c;是智慧城市建设中的核心挑战之一。随着人口流动性增强和城市空间复杂度上升&a…

Comics Downloader:终极漫画下载工具完整使用指南

Comics Downloader&#xff1a;终极漫画下载工具完整使用指南 【免费下载链接】comics-downloader tool to download comics and manga in pdf/epub/cbr/cbz from a website 项目地址: https://gitcode.com/gh_mirrors/co/comics-downloader 还在为寻找心仪的漫画资源而…

MGeo推理环境隔离实践:Conda环境管理技巧

MGeo推理环境隔离实践&#xff1a;Conda环境管理技巧 引言&#xff1a;为何需要精细化的环境隔离&#xff1f; 在实际AI项目落地过程中&#xff0c;模型推理环境的稳定性与可复现性往往成为制约部署效率的关键瓶颈。以阿里开源的MGeo地址相似度识别系统为例&#xff0c;其核心…

UniversalUnityDemosaics:Unity游戏视觉优化终极解决方案

UniversalUnityDemosaics&#xff1a;Unity游戏视觉优化终极解决方案 【免费下载链接】UniversalUnityDemosaics A collection of universal demosaic BepInEx plugins for games made in Unity3D engine 项目地址: https://gitcode.com/gh_mirrors/un/UniversalUnityDemosai…

企业信息安全考量:MGeo本地部署避免数据外泄风险

企业信息安全考量&#xff1a;MGeo本地部署避免数据外泄风险 在当前数字化转型加速的背景下&#xff0c;企业对地理信息数据的依赖日益加深。尤其是在物流、零售选址、用户画像等业务场景中&#xff0c;地址相似度匹配成为实体对齐的关键环节。然而&#xff0c;地址数据往往包…

AMD Ryzen调优终极指南:从新手到专家的完整实战手册

AMD Ryzen调优终极指南&#xff1a;从新手到专家的完整实战手册 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gitc…