QT实现钟表
1、
头文件
#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include <QPaintEvent> //绘制事件类
#include <QDebug> //信息调试类
#include <QPainter> //画家类
#include <QTimerEvent> //定时器事件处理类
#include <QTime>
#include <QTimer> //定时器类
#include <QDateTime> //日期时间类QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();//重写绘制事件处理函数void paintEvent(QPaintEvent *event) override;private:Ui::MainWindow *ui;//定义一个定时器的对象指针QTimer *timer;
};
#endif // MAINWINDOW_H
源文件
#include "mainwindow.h"
#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);//给定时器指针实例化对象timer = new QTimer(this);timer->start(1000); //一秒钟//将该定时器的timeout信号连接到自定义槽函数中connect(timer, SIGNAL(timeout()), this, SLOT(update()));}MainWindow::~MainWindow()
{delete ui;
}void MainWindow::paintEvent(QPaintEvent *event)
{//实例化一个画家QPainter painter(this);//实例化一个画笔QPen pen;pen.setColor(QColor("black")); //将画笔设置成黑色pen.setStyle(Qt::SolidLine); //设置线型pen.setWidth(5); //设置画笔的粗细//将画笔给画家安排上painter.setPen(pen);//给画家偏移起始坐标点painter.translate(this->width()/2,this->height()/2); //界面的一半//给画家偏移坐标系painter.rotate(0); //也就是旋转//填充图形内的颜色(刷子)painter.setBrush(QBrush(QColor("skyblue")));//画个圆形painter.drawEllipse(QPoint(0,0), 200,200); //QPoint(0,0)为起始位置//画出表盘for(int i=1;i<=60;i++){painter.rotate(6);painter.drawLine(0,195,0,200);}//painter.rotate(0);for(int i=1;i<=12;i++){painter.rotate(30);painter.drawLine(0,190,0,200);}QTime sys_t = QTime::currentTime();//时针painter.save(); //保存pen.setColor(QColor("green")); //将画笔设置成绿色painter.setPen(pen);painter.rotate(6*sys_t.second());painter.drawLine(0,0,0,150);//分针painter.restore();painter.save();pen.setColor(QColor("blue")); //将画笔设置成蓝色painter.setPen(pen);painter.rotate(6*(sys_t.minute()+sys_t.second()/60));painter.drawLine(0,0,0,120);//秒针painter.restore();painter.save();pen.setColor(QColor("red")); //将画笔设置成红色painter.setPen(pen);painter.rotate(30*((sys_t.hour()+sys_t.minute()/60)));painter.drawLine(0,0,0,90);}
主函数
#include "mainwindow.h"#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);MainWindow w;w.show();return a.exec();
}
2、思维导图

相关文章:
QT实现钟表
1、 头文件 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include <QPaintEvent> //绘制事件类 #include <QDebug> //信息调试类 #include <QPainter> //画家类 #include <QTimerEve…...
准备我们心爱的IDEA写Jsp
JSP学习 一、准备我们心爱的IDEA new一个项目:New Project --> Next -->Next -->Finsh 二、配置好服务器Tomcat-9.0.30 1.> 在WEB-INF下创建一个Lib包 将jsp-api.jar复制进去,并使其生效 未生效前: 生效过程: 2.>…...
将近 5 万字讲解 Python Django 框架详细知识点(更新中)
Django 框架基本概述 Django 是一个开源的 Web 应用后端框架,由 Python 编写。它采用了 MVC 的软件设计模式,即模型(Model)、视图(View)和控制器(Controller)。在 Django 框架中&am…...
Arcgis提取每个像元的多波段反射率值
Arcgis提取每个像元的多波段反射率值 数据预处理 数据预处理阶段需要对遥感图像进行编辑传感器参数、辐射定标、大气校正、正射校正,具体流程见该文章 裁剪研究区 对于ENVI处理得到的tiff影像,虽然是经过裁剪了,但是还存在黑色的背景值&a…...
JavaScript面试题整理(一)
数据类型篇 1、JavaScript有哪些数据类型,它们的区别是什么? 基本数据类型:number、string、boolean、undefined、NaN、BigInt、Symbol 引入数据类型:Object NaN是JS中的特殊值,表示非数字,NaN不是数字…...
数据结构:树和二叉树之-堆排列 (万字详解)
目录 树概念及结构 1.1树的概念 1.2树的表示 编辑2.二叉树概念及结构 2.1概念 2.2数据结构中的二叉树:编辑 2.3特殊的二叉树: 编辑 2.4 二叉树的存储结构 2.4.1 顺序存储: 2.4.2 链式存储: 二叉树的实现及大小堆…...
爬虫入门基础:深入解析HTTP协议的工作过程
目录 一、HTTP协议简介 二、HTTP协议的工作过程 三、请求方法与常见用途 四、请求头与常见字段 五、状态码与常见含义 六、进阶话题和注意事项 总结 在如今这个数字化时代,互联网已经成为我们获取信息、交流和娱乐的主要渠道。而在互联网中,HTTP协…...
k8备份与恢复-Velero
简介 Velero 是一款可以安全的备份、恢复和迁移 Kubernetes 集群资源和持久卷等资源的备份恢复软件。 Velero 实现的 kubernetes 资源备份能力,可以轻松实现 Kubernetes 集群的数据备份和恢复、复制 kubernetes 集群资源到其他kubernetes 集群或者快速复制生产环境…...
基于Python开发的火车票分析助手(源码+可执行程序+程序配置说明书+程序使用说明书)
一、项目简介 本项目是一套基于Python开发的火车票分析助手,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Python学习者。 包含:项目源码、项目文档等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,…...
旺店通·企业奇门与金蝶云星空对接集成订单查询连通销售订单新增(旺店通销售-金蝶销售订单-小红书)
旺店通企业奇门与金蝶云星空对接集成订单查询连通销售订单新增(旺店通销售-金蝶销售订单-小红书) 接通系统:旺店通企业奇门 慧策最先以旺店通ERP切入商家核心管理痛点——订单管理,之后围绕电商经营管理中的核心管理诉求,先后布局流量获取、会…...
卡尔曼滤波应用在数据处理方面的应用
卡尔曼滤波应用到交通领域 滤波器介绍核心思想核心公式一维卡尔曼滤波器示例导入所需的库 滤波器介绍 卡尔曼滤波器是一种用于估计系统状态的数学方法,它以卡尔曼核心思想为基础,广泛应用于估计动态系统的状态和滤除测量中的噪声。以下是卡尔曼滤波器的核…...
PROFIBUS主站转ETHERCAT协议网关
产品介绍 JM-DPM-ECT是自主研发的一款PROFIBUS-DP主站功能的通讯网关。该产品主要功能是将各种PROFIBUS-DP从站接入到ETHERCAT网络中。 本网关连接到PROFIBUS总线中作为主站使用,连接到ETHERCAT总线中作为从站使用。 产品参数 技术参数 ◆ PROFIBUS-DP/V0 协议符…...
Vue路由的使用及node.js下载安装和环境搭建
目录 一、Vue路由 1.1 简介 ( 1 ) 特点 ( 2 ) 作用 1.2 实例 ( 1 ) 引入 ( 2 ) 组件 ( 3 ) 关系 ( 4 ) 路由 ( 5 ) 事件 ( 6 ) 锚点 二、nodeJS 2.1 下载 2.2 安装 2.3 环境搭建 新增 添加 测试 配置 运行 一、Vue路由 1.1 简介 Vue路由是Vue.…...
【算法训练-二叉树 三】【最大深度与直径】求二叉树的最大深度、求二叉树的直径
废话不多说,喊一句号子鼓励自己:程序员永不失业,程序员走向架构!本篇Blog的主题是【求二叉树的直径】,使用【二叉树】这个基本的数据结构来实现,这个高频题的站点是:CodeTop,筛选条件…...
查看linux是centos还是Ubuntu
查看linux是centos还是Ubuntu 命令:cat /etc/os-release...
win10怎么关闭自动更新,这个方法你知道吗?
Windows 10 操作系统自动更新是确保系统安全性和性能的关键功能。然而,有时用户可能希望手动控制更新,因此关闭自动更新可能是一个有用的选项。在本文中,我们将介绍win10怎么关闭自动更新的两种方法,以满足用户不同的需求。 方法1…...
「语音芯片」常见的OTP芯片故障分析
OTP语音芯片是指一次性可编程语音芯片,语音只能烧写一次,适合应用在不需要修改语音、语音长度短的场合,从放音的长度上可以分为20秒、40秒、80秒、170秒、340秒。语音芯片的特点是单芯片方案、价格便宜,适合批量生产,即便是小数量…...
孩子写作业买什么样台灯合适?适合孩子读写台灯推荐
现在孩子的普遍都存在视力问题,而导致孩子近视的原因可能跟光线太强或太弱、不用的用眼习惯、长时间的过度用眼等因素有关,根据数据表明目前中国近视患者人数达到6亿多,其中儿童青少年的视力不良率甚至高达八成,所以在孩子的学习道…...
DBAPI插件开发指南
DBAPI插件开发指南 插件市场 您可以去插件市场下载插件 插件的作用 DBAPI的插件分4类,分别是数据转换插件、缓存插件、告警插件、全局数据转化插件 缓存插件 对执行器结果进行缓存,比如SQL执行器,对查询类SQL,sql查询结果进…...
线程池使用之自定义线程池
目录 一:Java内置线程池原理剖析 二:ThreadPoolExecutor参数详解 三:线程池工作流程总结示意图 四:自定义线程池-参数设计分析 1:核心线程数(corePoolSize) 2:任务队列长度(workQueue) 3:最大线程数(maximumPoolSize) 4:最…...
避坑指南:用Python调用腾讯混元大模型API时,你可能会遇到的5个常见错误及解决方法
避坑指南:用Python调用腾讯混元大模型API时,你可能会遇到的5个常见错误及解决方法 调试API接口就像在迷宫中寻找出口——每个转角都可能遇到意想不到的障碍。作为使用腾讯混元大模型的开发者,我在过去三个月里处理了超过200次API调用异常&…...
Datart BI 工具数据库连接优化:解决 wait millis 5001 报错与连接池配置调整
1. 遇到 wait millis 5001 报错怎么办? 最近在帮客户部署 Datart BI 工具时,遇到了一个典型的数据库连接问题。每天早上业务高峰期,系统日志里就会频繁出现"wait millis 5001"的报错,但奇怪的是直接登录数据库服务器检查…...
ROS2 核心概念与实战应用指南
1. ROS2核心概念解析:从零开始理解机器人开发框架 第一次接触ROS2时,我被它复杂的术语体系搞得晕头转向。直到把机器人项目比作一个餐厅,才突然开窍——节点就像厨师和服务员,话题是传菜窗口,服务是点单对讲机…...
GuwenBERT:重构古文智能理解的3个技术维度
GuwenBERT:重构古文智能理解的3个技术维度 【免费下载链接】guwenbert GuwenBERT: 古文预训练语言模型(古文BERT) A Pre-trained Language Model for Classical Chinese (Literary Chinese) 项目地址: https://gitcode.com/gh_mirrors/gu/g…...
告别手动复制!Mac版PowerPoint备注导出神器:自定义AppleScript脚本全解析
Mac版PowerPoint备注导出神器:AppleScript脚本开发实战指南 每次在会议前整理PPT备注时,你是否也厌倦了手动复制粘贴的繁琐操作?作为一位长期使用Mac和PowerPoint的资深用户,我深刻理解这种效率低下的痛苦。本文将带你深入探索如何…...
GHelper:华硕笔记本高效性能优化完整指南
GHelper:华硕笔记本高效性能优化完整指南 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops. Control tool for ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, TUF, Strix, Scar and other models 项目地址: https://g…...
影墨·今颜GPU利用率提升方案:4-bit NF4量化让FLUX.1-dev响应提速300%
影墨今颜GPU利用率提升方案:4-bit NF4量化让FLUX.1-dev响应提速300% 1. 引言:当艺术创作遇上性能瓶颈 如果你用过AI绘画工具,尤其是那些追求极致写实效果的,大概率经历过这样的等待:输入一段精心构思的描述ÿ…...
Wan2.1文生视频新手必看:手把手教你写提示词,生成效果惊艳
Wan2.1文生视频新手必看:手把手教你写提示词,生成效果惊艳 你是不是也遇到过这种情况:看到别人用AI生成的视频酷炫无比,自己兴冲冲地打开工具,输入“一只猫在跑”,结果生成的视频要么模糊不清,…...
Vue项目实战:5分钟搞定ECharts与高德地图(AMap)的完美结合
Vue项目实战:5分钟实现ECharts与高德地图的深度整合 最近在开发一个物流数据可视化平台时,遇到了一个典型需求:如何在地图上动态展示全国各区域的订单流向?经过反复尝试,发现ECharts与高德地图的组合是最佳解决方案。本…...
Wan2.2-T2V-A5B案例分享:用简单提示词生成流畅运动视频
Wan2.2-T2V-A5B案例分享:用简单提示词生成流畅运动视频 1. 模型简介与核心优势 Wan2.2-T2V-A5B是由通义万相开源的一款轻量级文本到视频生成模型,拥有50亿参数规模。这款模型专为快速内容创作优化,支持480P视频生成,具备优秀的时…...
