当前位置: 首页 > news >正文

QT--4

QT 使用定时器完成闹钟

#include "widget.h"
#include "ui_widget.h"void Widget::timestart()
{timer.start(1000);
}void Widget::timeend()
{timer.stop();
}Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);this->resize(800,550);this->setFixedSize(800,550);this->setWindowTitle("Alarm");lab1 = new QLabel(this);lab1->resize(360,120);lab1->move(80,80);lab1->setStyleSheet("background-color:rgb(225, 255, 248);font: 36pt;border-radius:10px");txtedt = new QTextEdit(this);txtedt->resize(650,250);txtedt->move(80,250);txtedt->setStyleSheet("background-color:rgb(225, 255, 248);font: 36pt;border-radius:10px");linedt1 = new QLineEdit(this);linedt1->resize(250,50);linedt1->move(480,80);linedt1->setPlaceholderText("预定时间");linedt1->setStyleSheet("background-color:rgb(225, 255, 248);font: 36pt;border-radius:10px");btn1 = new QPushButton("启动",this);btn1->resize(125,50);btn1->move(480,150);btn1->setStyleSheet("background-color:rgb(225, 255, 248);font: 36pt;border-radius:10px");QPushButton *btn2 = new QPushButton("停止",this);btn2->resize(125,50);btn2->move(610,150);btn2->setStyleSheet("background-color:rgb(225, 255, 248);font: 36pt;border-radius:10px");speecher = new QTextToSpeech;connect(btn1, &QPushButton::clicked, this, &Widget::timestart);connect(btn2, &QPushButton::clicked, this, &Widget::timeend);connect(&timer,&QTimer::timeout,this,&Widget::timer_slots);connect(&timer,&QTimer::timeout,this,&Widget::timealarm);
}Widget::~Widget()
{delete ui;
}
void Widget::timer_slots()
{QTime sysTime = QTime::currentTime();QString time = sysTime.toString("hh : mm : ss");lab1->setText(time);
}void Widget::timealarm()
{QTime sysTime = QTime::currentTime();//将Qtime转换为QstringQString time = sysTime.toString("hh:mm:ss");if(linedt1->text()==time){QString msg = txtedt->toPlainText();speecher->say(msg);}
}
#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QLabel>
#include <QTextEdit>
#include <QLineEdit>
#include <QPushButton>
#include <QTimer>       //定时器类
#include <QTime>
#include <QTimerEvent>
#include <QDateTime>
#include <QtTextToSpeech>           //文本转语音类
#include <QDebug>
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECT
public slots:void timestart();void timeend();void timer_slots();void timealarm();
public:Widget(QWidget *parent = nullptr);~Widget();private:Ui::Widget *ui;int tid = 0;QTimer timer;QPushButton *btn1;QLabel *lab1;QTextToSpeech *speecher;QLineEdit *linedt1;QTextEdit *txtedt;
};
#endif // WIDGET_H

 

#include "widget.h"
#include "ui_widget.h"void Widget::timeslot()
{s+=6;if(s==360){s=0;m+=12;}if(m==360){m=0;h+=30;}if(h==360){h=0;}this->update();
}Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);connect(&timer,&QTimer::timeout,this,&Widget::timeslot);timer.start(1000);}Widget::~Widget()
{delete ui;
}void Widget::paintEvent(QPaintEvent *event)
{QTime sysTime = QTime::currentTime();//将Qtime转换为QstringQString time = sysTime.toString("hh:mm:ss");//实例化一个画家QPainter painter(this);//2、实例化一个画笔QPen pen(QColor("skyblue"));pen.setWidth(10);//给画家安排上画笔painter.setPen(pen);//3、实例化一个字体QFont font("华文新魏",10);painter.setFont(font);//使用画家画文本文字//painter.drawText(this->rect(),Qt::AlignCenter,"好好学习,天天向上");painter.translate(QPoint(this->width()/2,this->height()/2));painter.drawEllipse(QPoint(0,0),200,200);for(int i=0;i<=11;i++){painter.drawLine(0,195,0,200);painter.rotate(30);}QPainter painter_s(this);QPen pen_s(QColor("green"));pen_s.setWidth(5);//给画家安排上画笔painter_s.translate(QPoint(this->width()/2,this->height()/2));painter_s.setPen(pen_s);painter_s.rotate(s);painter_s.drawLine(0,0,0,150);QPainter painter_m(this);QPen pen_m(QColor("yellow"));pen_m.setWidth(7);//给画家安排上画笔painter_m.translate(QPoint(this->width()/2,this->height()/2));painter_m.setPen(pen_m);painter_m.rotate(m);painter_m.drawLine(0,0,0,120);QPainter painter_h(this);QPen pen_h(QColor("red"));pen_h.setWidth(4);//给画家安排上画笔painter_h.translate(QPoint(this->width()/2,this->height()/2));painter_h.setPen(pen_h);painter_h.rotate(h);painter_h.drawLine(0,0,0,80);
}

 

相关文章:

QT--4

QT 使用定时器完成闹钟 #include "widget.h" #include "ui_widget.h"void Widget::timestart() {timer.start(1000); }void Widget::timeend() {timer.stop(); }Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(t…...

感染了后缀为.360勒索病毒如何应对?数据能够恢复吗?

导言&#xff1a; 在数字化时代的浪潮中&#xff0c;网络安全问题如同暗流涌动&#xff0c;威胁着每一个互联网用户的安宁。而近年来&#xff0c;一种名为.360勒索病毒的新型网络威胁逐渐浮出水面&#xff0c;以其独特的加密方式和狡猾的传播策略&#xff0c;给全球网络安全带…...

JavaSE多态

多态&#xff1a;一个对象在不同条件下表示的不同形态就叫多态。在程序中&#xff0c;多态是父类引用指定子类对象就叫多态。 多态是面向对象程序设计中的第三个特征 // 多态 class Father {String name;public void desc() {System.out.println("----------");Sys…...

M 有效算法

M 有效算法 本题考验二分知识&#xff0c;思路是二分k的取值&#xff0c;就按第一组样例来说当我们k取值为1的时候我们遍历数组想让|8-x|<k1的话x的取值范围是7-9&#xff0c;想让|3-x|<k2的话x的取值范围是1-5&#xff0c;两者x的区间不重合&#xff0c;说明肯定没有x能…...

知识付费系统制作,托管机构如何提高体验课转化率?要注意什么?

现在托管机构非常流行&#xff0c;一所学校周边就会出现好几家托管机构&#xff0c;所以竞争非常激烈。很多托管机构为了扩大生源&#xff0c;会选择体验课来让学生体验&#xff0c;至于如何提高体验课转化率&#xff0c;就看机构的本事了。 1、市场调研&#xff1a;摸清当前我…...

【iOS逆向与安全】网上gw如何自动登录与签到SM2,SM3,SM4算法加解密

1.下载 app 2.frida 调试 3.抓包查看接口 4.分析加密数据 5.易语言编写代码 1 .开始下载 下载好发现有越狱检测&#xff0c;检测点为&#xff1a; -[AppDelegate isJailBreak]; 于是编写插件xm代码 : %hook AppDelegate- (void)isJailBreak{NSLog("AppDelegate is…...

《CKA/CKAD应试指南/从docker到kubernetes 完全攻略》学习笔记 第14章 包管理helm v3

前言 考试大纲: 了解helm是如何工作的,从而实现快速部署应用 本章要点: 考点1:添加helm源 考点2:使用helm 部署应用 前面在使用wordpress + mysql 部署博客应用的时候,需要做许多工作,需要每个pod创建pv和pvc,然后分别创建每个应用pod及svc,整个过程非常麻烦. 如果搭建博客的…...

蓝桥杯备战.19有奖问答dfs

P9230 [蓝桥杯 2023 省 A] 填空问题 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) #include<bits/stdc.h> using namespace std; #define endl \n //#define int long long const int N 2e510; int a[N],w[N]; int ans 0; void dfs(int score,int cnt) {if(cnt>3…...

【JS红宝书学习笔记】第1、2章 初识JS

第1章 什么是JavaScript JavaScript 是一门用来与网页交互的脚本语言&#xff0c;包含以下三个组成部分。 ECMAScript&#xff1a;由 ECMA-262 定义并提供核心功能。文档对象模型&#xff08;DOM&#xff09;&#xff1a;提供与网页内容交互的方法和接口。浏览器对象模型&…...

学习java

在实验室看见这本书&#xff0c;无聊看了下&#xff0c;写出了第一个java代码 成功下载了eclipse并且汉化。 写了自己的第一个java程序&#xff1a; package ttttt;public class ttttt {public static void main(String[] args) {System.out.println("hello world")…...

Redis日常维护流程及技巧:确保稳定性与性能

目录 一、监控和报警设置 1.实时监控&#xff1a;洞察Redis的脉搏 &#xff08;1&#xff09;. 资源使用监控 &#xff08;2&#xff09;. 数据访问模式监控 &#xff08;3&#xff09;. 持久化监控 &#xff08;4&#xff09;. 客户端连接 2.报警机制&#xff1a;快速响…...

牛客华为机试题——难度:入门(python实现)

HJ7 取近似值 HJ9 提取不重复的整数 HJ46 截取字符串 HJ58 输入n个整数&#xff0c;输出其中最小的k个 HJ101 输入整型数组和排序标识&#xff0c;对其元素按照升序或降序进行排序 HJ7 取近似值 描述&#xff1a;写出一个程序&#xff0c;接受一个正浮点数值&#xff0c;输…...

数据结构与算法学习笔记之线性表五---循环链表的表示和实现(C++)

目录 前言 1.双向链表的定义 2.双向链表的表示和实现 1.定义 2.初始化 3.销毁 4.清空 5.表长 6.获取数据元素 7.前驱节点 8.后继节点 9.插入 10.删除 11.遍历 12.完整代码 前言 记录下双向链表的表示和实现。 1.循环链表的定义 循环链表(circular linked list)…...

微信小程序生命周期揭秘:从启动到消亡的全过程剖析【附代码】

微信小程序生命周期揭秘&#xff1a;从启动到消亡的全过程剖析 一、小程序生命周期概览核心生命周期函数 二、深入理解生命周期回调2.1 onLoad: 首次亮相的准备2.2 onShow: 重登舞台的瞬间2.3 onReady: 舞台就绪&#xff0c;静待表演2.4 onHide & onUnload: 谨慎离场&#…...

Linux 下载 miniconda

https://repo.anaconda.com/miniconda/ 下载对应版本&#xff1a; wget -c https://repo.anaconda.com/miniconda/Miniconda3-py310_24.3.0-0-Linux-x86_64.sh给下载的文件添加可执行权限 chmod x Miniconda3-py310_24.3.0-0-Linux-x86_64.sh安装 ./Miniconda3-py310_24.3.…...

第十五篇:全面防护:构建不容侵犯的数据库安全策略与实战指南

全面防护&#xff1a;构建不容侵犯的数据库安全策略与实战指南 1. 引言&#xff1a;数据库安全的现代战略 1.1 简介&#xff1a;数据库安全在当今的数字化时代中的重要性 在数字化的浪潮中&#xff0c;数据已成为企业乃至国家的核心资产&#xff0c;其价值不亚于实体世界的黄…...

电脑快速搜索文件及文件夹软件——Everything

一、前言 Everything是一款由voidtools开发的文件搜索工具&#xff0c;主要运行于Windows操作系统上。它的主要功能是快速、高效地搜索电脑上的文件和文件夹名称。Everything通过利用NTFS文件系统的MFT&#xff08;主文件表&#xff09;来索引文件&#xff0c;从而实现几乎实时…...

02-登录页面、动态路由、权限等模块开发

权限模块开发流程 前端login页面开发后端SpringSecurity配置后端login接口开发前端页面框架搭建前端路由守卫&#xff0c;状态管理开发前后端完成认证流程 开发Login页面 创建Login页面创建router&#xff0c;可以跳转到Login页面 Login页面 使用element-plus开发 认证功…...

万物生长大会 | 创邻科技再登杭州准独角兽榜单

近日&#xff0c;由民建中央、中国科协指导&#xff0c;民建浙江省委会、中国投资发展促进会联合办的第八届万物生长大会在杭州举办。 在这场创新创业领域一年一度的盛会上&#xff0c;杭州市创业投资协会联合微链共同发布《2024杭州独角兽&准独角兽企业榜单》。榜单显示&…...

(六)Linux的Shell编程(上)

一.Shell Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。Ken Thompson 的 sh 是第一种 Unix Shell,Windows …...

基于FeFET的动态可重构FPGA:实现亚纳秒级上下文切换的硬件加速新架构

1. 项目概述与核心挑战如果你在硬件加速领域摸爬滚打过几年&#xff0c;大概率会对FPGA又爱又恨。爱的是它无与伦比的灵活性&#xff0c;恨的是它在“灵活”和“高效”之间那道难以逾越的鸿沟。传统基于SRAM的FPGA&#xff0c;其可重构性是通过烧写配置位流到SRAM单元来实现的。…...

翻译工具:AI跨语言执行任务

翻译工具&#xff1a;AI跨语言执行任务&#x1f4dd; 本章学习目标&#xff1a;本章聚焦工具系统&#xff0c;让AI Agent具备丰富的执行能力。通过本章学习&#xff0c;你将全面掌握"翻译工具&#xff1a;AI跨语言执行任务"这一核心主题。一、引言&#xff1a;为什么…...

强化学习实战:用Python手搓Sarsa和Q-Learning,在悬崖漫步里看谁更“怂”

强化学习实战&#xff1a;Python实现Sarsa与Q-Learning在悬崖漫步中的策略差异从游戏视角理解强化学习核心算法想象你正站在一个412的网格世界起点&#xff0c;目标是到达右下角的终点。但中间有一片"悬崖"——任何踏入都会让你回到起点并承受巨大惩罚。每走一步都会…...

量子互联网:原理、挑战与未来应用

1. 量子互联网的技术本质与核心价值量子互联网并非传统互联网的简单升级&#xff0c;而是一种基于量子力学原理的全新通信范式。其核心在于利用量子纠缠这一独特物理现象&#xff0c;实现传统通信手段无法企及的功能。在传统互联网中&#xff0c;信息以经典比特&#xff08;0或…...

别再只懂ls -l了!手把手教你用getfattr/setfattr玩转Linux文件隐藏属性

别再只懂ls -l了&#xff01;手把手教你用getfattr/setfattr玩转Linux文件隐藏属性 在Linux系统中&#xff0c;文件权限和属性管理是每个开发者和管理员的必修课。大多数人熟悉 ls -l 展示的基础权限&#xff0c;但很少有人深入探索文件系统中那些不为人知的"隐藏技能&q…...

Unity中型项目插件整合实战:地形、地牢、卡通渲染与性能优化

1. 这不是“又一个插件包”&#xff0c;而是Unity中型项目落地的现实锚点你有没有过这样的经历&#xff1a;刚立项一个3D RPG&#xff0c;美术说“地形得有真实感”&#xff0c;程序说“地牢生成逻辑要支持多层嵌套”&#xff0c;策划喊“塔防关卡得能拖拽编辑”&#xff0c;QA…...

Unity安装包瘦身实战:从2.3GB到680MB的工程化治理

1. 为什么一个500MB的Unity项目打包后会变成3GB&#xff1f;——安装包膨胀的真实逻辑“Unity安装包减肥”这六个字&#xff0c;听起来像在给软件做瑜伽&#xff0c;但实际是每个上线前夜都在咬牙硬扛的生存战。我做过7个已上线的Unity手游项目&#xff0c;最深的体会是&#x…...

找工厂客户,天下工厂和企查查、天眼查这类平台哪个数据更靠谱?

做B2B销售或供应链采购的人&#xff0c;多半都碰过这样的困境&#xff1a;打开某个平台搜一个行业&#xff0c;出来几百条结果&#xff0c;逐条看下去才发现——这家是贸易公司&#xff0c;那家是空壳主体&#xff0c;还有一堆个体工商户&#xff0c;真正能对接生产的工厂没几个…...

5分钟搞定视频号批量下载:开源工具让效率提升20倍

5分钟搞定视频号批量下载&#xff1a;开源工具让效率提升20倍 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader 你是否还在为下…...

大模型从0训练LLaMA全流程实战——基于昇腾910B集群

用昇腾集群从零训练一个 LLaMA-7B,走完数据准备、代码修改、分布式配置、启动训练、监控调优的全流程。中间踩过的坑都标注在对应步骤里。 1. 硬件与环境确认(训练前必做) 训练大模型对环境的稳定性要求极高,任何一项不达标都可能导致训练中途崩溃。 #!/bin/bash # 训练前…...