Qt 0820作业

一、思维导图

二、闹钟

头文件代码

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QTime>        //时间类
#include <QTimer>       //时间事件类
#include <QTimerEvent>  //定时器事件类
#include <QMouseEvent>  //鼠标事件类
#include <QPoint>       //向量类
#include <QMessageBox>  //对话框类
#include <QDebug>QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();//重写timerEvent()函数的声明void timerEvent(QTimerEvent *e);/*鼠标事件函数声明*/void mousePressEvent(QMouseEvent *event) override;      //按下void mouseMoveEvent(QMouseEvent *event) override;       //移动private slots:void on_startBtn_clicked();private:Ui::Widget *ui;int id;     //定时器idQPoint p; //记录当前鼠标位置QTime alarmTime;    //闹钟时间
};
#endif // WIDGET_H

源文件代码

#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);this->setWindowFlag(Qt::FramelessWindowHint);  //纯净窗口this->setAttribute(Qt::WA_TranslucentBackground);   //去黑框QDate sys_date = QDate::currentDate();QString date = sys_date.toString("yyyy年MM月dd日");ui->dataLabel->setText(date);//启动一个定时器id = startTimer(1000);  //每秒自动执行timerEvent()
}Widget::~Widget()
{delete ui;
}//定时器超时自动执行功能函数
void Widget::timerEvent(QTimerEvent *e)
{int count = 0;if(e->timerId() == id){//获取系统时间QTime sys_time = QTime::currentTime();//时间转换字符串QString time = sys_time.toString("hh:mm:ss");//将系统时间放入labui->timeLabel->setText(time);//文本居中显示ui->timeLabel->setAlignment(Qt::AlignCenter);if(sys_time >= alarmTime && !alarmTime.isNull()){ui->textEdit->setText("时间到了!");
//            qDebug() << "时间到了";count++;if(count == 10) //闹钟响一分钟{alarmTime = QTime();ui->textEdit->setText("~~~~~~~");count = 0;}}}
}//重写鼠标按下事件函数实现
void Widget::mousePressEvent(QMouseEvent *event)
{//当前窗口坐标p = event->pos();
}//重写鼠标移动事件函数实现
void Widget::mouseMoveEvent(QMouseEvent *event)
{//判断是否是左键按下if(event->buttons() == Qt::LeftButton){//窗口移动this->move(event->globalPos() - p);//全局坐标    当前窗口坐标}
}void Widget::on_startBtn_clicked()
{alarmTime = QTime::fromString(ui->clockEdit->text(), "hh:mm:ss");if(alarmTime.isValid()){QMessageBox msg(QMessageBox::Information,"提示","闹钟设置成功",QMessageBox::Ok,this);msg.exec();}else{QMessageBox msg(QMessageBox::Warning,"警告","格式设置有误",QMessageBox::Ok,this);msg.exec();}
}

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

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

相关文章

CSS 元素的尺寸

const dom document.querySelector(‘.size’) 以下方法只是拿的width举例 浏览器渲染管线 dom.style.width: 它读取/设置的是浏览器渲染管线的第一个步骤dom解析,也就是DOM树 比如: <a style"width:100px"></a><a style"width: auto"&…

SAP B1 三大基本表单标准功能介绍-业务伙伴主数据(三)

背景 在 SAP B1 中&#xff0c;科目表、业务伙伴主数据、物料主数据被称为三大基本表单&#xff0c;其中的标准功能是实施项目的基础。本系列文章将逐一介绍三大基本表单各个字段的含义、须填内容、功能等内容。 附上 SAP B1 10.0 的帮助文档&#xff1a;SAP Business One 10…

Android常见界面控件(二)

目录 ​前言 一、 RadioButton控件 设置RadioGroup的监听事件 二、CheckBox控件 三、Toast类 改变Toast窗口的提示位置 四、EditText控件 常用属性 前言 在上一篇中&#xff0c;我们讲解了三个常见的控件&#xff1a;TextView控件、Button控件、ImageView控件&#xf…

【ARM+Codesys 客户案例 】RK3568/A40i/STM32+CODESYS在工厂自动化中的应用:PCB板焊接机

现代化生产中&#xff0c;电子元件通常会使用自动化设备来进行生产&#xff0c;例如像PCB&#xff08;印刷电路板&#xff09;的组装。但是生产过程中也会面临一些问题&#xff0c;类似于如何解决在PCB板上牢固、精准地安装各种组件呢&#xff1f;IBL Lttechnik GmbH公司的CM80…

5.Linux_Shell编程

概述 什么是shell脚本&#xff1a; Shell脚本是利用shell的功能所写的一个程序。这个程序是使用纯文本文件&#xff08;后缀为.sh&#xff09;&#xff0c;将一些shell的语法与命令&#xff08;含外部命令&#xff09;写在里面&#xff0c;搭配正则表达式、管道命令与数据流重…

公认最强充电宝有哪些?盘点四款公认强悍级别充电宝推荐

随着智能手机和其他移动设备的广泛应用&#xff0c;充电宝已经成为我们生活中不可或缺的一部分。然而&#xff0c;市场上众多品牌和型号的充电宝也让消费者面临选择难题&#xff0c;安全隐患也随之浮现。因此&#xff0c;选择一款安全可靠、性能卓越的充电宝显得尤为重要。本文…

“跨越国界,共赢未来:跨境联盟营销的策略与实践

全球化背景下跨境联盟营销的市场有很多机遇&#xff0c;随着全球化的深入发展&#xff0c;跨境电商市场不断扩大&#xff0c;为企业提供了广阔的市场空间。跨境联盟营销可以借助全球化的趋势&#xff0c;实现品牌国际化和市场拓展。随着大数据、人工智能、区块链等技术的不断发…

【数据结构】PTA 求链表的倒数第m个元素 C语言

请设计时间和空间上都尽可能高效的算法&#xff0c;在不改变链表的前提下&#xff0c;求链式存储的线性表的倒数第m&#xff08;>0&#xff09;个元素。 函数接口定义&#xff1a; ElementType Find( List L, int m ); 其中List结构定义如下&#xff1a; typedef struct…

5个自动化面试题,助你过关斩将!

一、python深拷贝与浅拷贝的区别 Python中的深拷贝&#xff08;deep copy&#xff09;和浅拷贝&#xff08;shallow copy&#xff09;是两种不同的对象复制方式&#xff0c;它们之间的主要区别在于复制的内容和范围。 浅拷贝&#xff08;Shallow Copy&#xff09; 浅拷贝会创…

memcpy函数,自动获取LCD硬件参数

示例&#xff1a;将开发板颜色变为红色 #include<stdio.h> #include<unistd.h> #include<sys/mman.h> #include<string.h> #include<fcntl.h> #include<linux/fb.h>int main() {// 以读写权限打开液晶屏文件int lcd open("/dev/fb0…

如何在SOLIDWORKS中自定义材料库

使用SolidWorks对模型进行评估时都需要现定义一个材料&#xff1b;例如&#xff1a;测量模型的质量属性、使用限元分析模型等&#xff0c;SolidWorks自带了丰富的材质库&#xff0c;满足了绝大部分的设计需求。但是难免会遇到一些特点的材质属性&#xff0c;在SOLIDWORKS中无法…

行业标杆 | 澳鹏Appen入选“2024年中国AI基础数据服务研究报告”

AI基础数据服务可加速高质量数据的获取与标注&#xff0c;推动AI算法的创新与持续优化&#xff0c;是AI产业发展的重要支撑。艾瑞咨询近日发布《2024年中国AI基础数据服务研究报告》&#xff0c;深度剖析了当前AI数据行业的挑战和机遇&#xff0c;并前瞻预测了未来趋势。作为AI…

将自己的网站改造成可安装的PWA

概述 本文是一篇水文&#xff0c;感兴趣的读者可以看看。分享一下怎么讲自己的网站改造成可安装的PWA。 PWA简介 渐进式 Web 应用&#xff08;Progressive Web App&#xff0c;PWA&#xff09;是一个使用 web 平台技术构建的应用程序&#xff0c;但它提供的用户体验就像一个…

【大模型理论篇】强化学习RL与大模型智能体

1. 背景介绍 大模型商业化&#xff0c;解决某类实际的业务问题&#xff0c;仅靠大模型本身其实存在很大的局限性&#xff0c;很多场景下不足以完全胜任真实业务需求【1】。 例如&#xff0c;如果给大模型发出指令&#xff1a;“过去5年间&#xff0c;隐私计算和数据要素…

iOS 18 Beta 5:苹果的细腻之笔,绘制用户体验新画卷

在苹果的世界里&#xff0c;每一次系统更新都是对用户体验进行的一次精心雕琢。 随着iOS 18 Beta 5的上线&#xff0c;苹果带来了一系列令人耳目一新的功能&#xff0c;同时也在系统的每个细微之处展现了对完美的追求。 Safari浏览器的“干扰控制”功能 在今天信息充斥的数字…

如何利用matlab对G882数据进行频谱分析

以前看地球物理教材的时候&#xff0c;经常碰到和卷积和傅里叶变换&#xff0c;一看到卷积或者反卷积就头大&#xff0c;直接跳过去&#xff0c;至于傅里叶变换&#xff0c;由于有高数的基础&#xff0c;明白它是将时域变换成频率域的公式。最近要用matlab对时域信号进行频谱分…

AI工具集合

AI工具集官网 | 1000 AI工具集合&#xff0c;国内外AI工具集导航大全

OpenLayers3, 缩放、平移、复位操作

文章目录 一、前言二、代码示例 一、前言 本文基于OpenLayers3实现地图缩放、平移和复位操作 二、代码示例 <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htm…

SVG的基本图形:直线、圆、椭圆、矩形、多边形等的元素的使用说明。

1、先上个图看一下效果&#xff1a;这里面有直线、圆、矩形、椭圆、多边形。 SVG 可缩放矢量图形&#xff08;Scalable Vector Graphics&#xff09;。 SVG 使用 XML 格式定义图像。 2、代码实现&#xff1a; <svg width"500" height"200" viewBox&…

白酒与家常菜:平凡中的不平凡味道

在日复一日的平凡生活中&#xff0c;家常菜总是扮演着不可或缺的角色。它们简单、朴实&#xff0c;却又承载着家的味道和温暖的记忆。然而&#xff0c;当这些家常菜与豪迈白酒&#xff08;HOMANLISM&#xff09;相遇&#xff0c;一场味蕾的盛宴便在不经意间上演&#xff0c;平凡…