QT DAY 4

 时钟:

#include "widget.h"
#include "ui_widget.h"int hour=0;
int min=0;
int sec=0;
int count=0;
Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);this->setFixedSize(800,600);timer = new QTimer;timer->start(1000);//int count =0 ;connect(timer, &QTimer::timeout,[&](){count++;update();});//调用QTime的静态成员函数获取当前系统时间QTime sys_time = QTime::currentTime();//获取时分秒hour = sys_time.hour();min = sys_time.minute();sec=sys_time.second();//将时间类对象调用函数转化为字符串QString t =sys_time.toString("hh:mm:ss");
}Widget::~Widget()
{delete ui;
}void Widget::paintEvent(QPaintEvent *event)
{//定义画家QPainter p(this);QPen pen(QColor("black"));pen.setWidth(3);QBrush b("white");p.setPen(pen);p.setBrush(b);p.translate(this->width()/2,this->height()/2);p.drawEllipse(QPoint(0,0),200,200);//使用画家绘制pen.setColor(QColor("black"));p.setPen(pen);for(int i=0;i<60;i++){p.rotate(6);p.drawLine(QPoint(200,0),QPoint(195,0));}pen.setWidth(5);p.setPen(pen);for(int i=0;i<12;i++){p.drawLine(QPoint(200,0),QPoint(190,0));p.rotate(30);p.drawText(QPoint(0,-170),QString("%1").arg(i+1));}//指针时针pen.setWidth(10);pen.setColor(QColor("red"));p.setPen(pen);p.rotate(hour*30+6*sec/60/12+30*min/60+6*count/6/12);p.drawLine(QPoint(0,-60),QPoint(0,5));//指针分针QPainter p1(this);p1.translate(this->width()/2,this->height()/2);pen.setWidth(8);pen.setColor(QColor("green"));p1.setPen(pen);p1.rotate(6*count/60+min*6+6*sec/60);p1.drawLine(QPoint(0,-100),QPoint(0,8));//指针秒针QPainter p2(this);p2.translate(this->width()/2,this->height()/2);pen.setWidth(6);pen.setColor(QColor("yellow"));p2.setPen(pen);p2.rotate(6*count+6*sec*6);p2.drawLine(QPoint(0,-150),QPoint(0,12));
}

 

time

#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);speecher = new QTextToSpeech(this);//实例化一个定时器timer = new QTimer(this);connect(timer,&QTimer::timeout,this,&Widget::timeout_slot);timer->start(1000);//1秒ui->evenB->setEnabled(false);}Widget::~Widget()
{delete ui;
}//基于属性的按钮对应的槽函数
void Widget::on_objB_clicked()
{ui->evenB->setEnabled(true);ui->objB->setEnabled(false);ui->evenL->setEnabled(false);ui->textEdit->setEnabled(false);}
//处理timeout信号对应的函数
void Widget::timeout_slot()
{//调用QTime的静态成员函数获取当前系统时间QTime sys_time = QTime::currentTime();//获取时分秒
//    int hour = sys_time.hour();
//    int min = sys_time.minute();
//    int sec=sys_time.second();//将时间类对象调用函数转化为字符串QString t =sys_time.toString("hh:mm:ss");ui->objL->setText(t);ui->objL->setAlignment(Qt::AlignCenter);ui->objL->setFont(QFont("楷体",20));if(!ui->objB->isEnabled()){if(ui->objL->text()==ui->evenL->text()){ui->evenL->setText("");ui->objB->setEnabled(true);ui->evenL->setEnabled(true);ui->evenB->setEnabled(false);ui->textEdit->setEnabled(true);QString text = ui->textEdit->toPlainText();speecher->say(text);}}}
void Widget::on_evenB_clicked()
{ui->objB->setEnabled(true);ui->evenL->setEnabled(true);ui->evenB->setEnabled(false);ui->textEdit->setEnabled(true);
}
//定时器事件处理函数的实现
void Widget::timerEvent(QTimerEvent *event)
{}

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

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

相关文章

【MySql】数据库的约束

写在最前面的话 哈喽&#xff0c;宝子们&#xff0c;今天给大家带来的是MySql数据库的约束&#xff0c;约束是自动的对数据的合法性进行校验检查的一系列机制&#xff0c;目的就是为了保证数据库中能够避免被插入/修改非法的数据。因为有的时候数据库中的数据是有一定要求的&am…

Android中的view绘制流程,简单理解

简单理解 Android中的View类代表用户界面中基本的构建块。一个View在屏幕中占据一个矩形区域、并且负责绘制和事件处理。View是所有widgets的基础类&#xff0c;widgets是我们通常用于创建和用户交互的组件&#xff0c;比如按钮、文本输入框等等。子类ViewGroup是所有布局&…

视频汇聚/视频云存储/视频监控管理平台EasyCVR安全检查的相关问题及解决方法2.0

开源EasyDarwin视频监控TSINGSEE青犀视频平台EasyCVR能在复杂的网络环境中&#xff0c;将分散的各类视频资源进行统一汇聚、整合、集中管理&#xff0c;在视频监控播放上&#xff0c;TSINGSEE青犀视频安防监控汇聚平台可支持1、4、9、16个画面窗口播放&#xff0c;可同时播放多…

flask使用Flask-Mail实现邮件发送

Flask-Mail可以实现邮件的发送&#xff0c;并且可以和 Flask 集成&#xff0c;让我们更方便地实现此功能。 1、安装 使用pip安装&#xff1a; $ pip install Flask-Mail或下载源码安装&#xff1a; $ git clone https://github.com/mattupstate/flask-mail.git $ cd flask-…

ClickHouse配置Hdfs存储数据

文章目录 背景配置单机配置HA高可用Hdfs集群性能测试统计trait最多的10个trait term统计性状xxx minValue > 500 0000的数量结论 参考文档 背景 由于公司初始使用Hadoop这一套&#xff0c;所以希望ClickHouse也能使用Hdfs作为存储 看了下ClickHouse的文档&#xff0c;拿Hdf…

HyperDock 1.8.0.10(Dock优化工具)

HyperDock 是一款为 macOS 设计的实用工具&#xff0c;它提供了许多方便快捷的功能&#xff0c;使您能够更高效地管理和操作应用程序窗口。 首先&#xff0c;HyperDock 提供了类似于 Windows 7 的任务栏预览功能。当您将鼠标悬停在应用程序图标上时&#xff0c;会显示该应用程…

flutter 上传图片并裁剪

1.首先在pubspec.yaml文件中新增依赖pub.dev image_picker: ^0.8.75 image_cropper: ^4.0.1 2.在Android的AndroidManifest.xml文件里面添加权限 <activityandroid:name"com.yalantis.ucrop.UCropActivity"android:screenOrientation"portrait"andro…

Spring-mvc的参数传递与常用注解的解答及页面的跳转方式---综合案例

目录 一.slf4j--日志 二.常用注解 2.1.RequestMapping 2.2.RequestParam 2.3.RequestBody 2.4.PathVariable 三.参数的传递 3.1 基础类型 3.2 复杂类型 3.3 RequestParam 3.4 PathVariable 3.5 RequestBody 3.6 增删改查 四.返回值 4.1 void 返回值 4.2 String 返…

Elsaticsearch倒排索引

搜索引擎应该具有什么要求&#xff1f; 查询快 高效的压缩算法 快速的编码和解码速度 结果准确 BM25 TF-IDF 检索结果丰富 召回率 面向海量数据&#xff0c;如何达到搜索引擎级别的查询效率&#xff1f; 索引 帮助快速检索以数据结构为载体以文件形式落地 倒排…

手把手教你写一个简单的ioc容器

Ioc IOC&#xff08;控制反转&#xff09; 就是 依赖倒置原则的一种代码设计思路。就是把原先在代码里面需要实现的对象创建、对象之间的依赖&#xff0c;反转给容器来帮忙实现。 Spring IOC容器通过xml,注解等其它方式配置类及类之间的依赖关系&#xff0c;完成了对象的创建和…

微服务-gateway基本使用

文章目录 一、前言二、gateway网关1、什么是微服务网关&#xff1f;2、微服务架构下网关的重要性2.1、没有网关2.2、有网关 3、gateway的功能4、gateway实战4.1、依赖配置4.2、添加网关配置4.3、添加网关启动类4.4、查看项目是否启动成功4.5、验证路由配置是否正确 三、总结 一…

报错:axios发送的所有请求都是404

axios发送的所有请求都是404 一、问题二、分析三、解决一、问题 对后台发送数据请求接口,在 Swagger 上是可以请求到的 但是通过 Ajax 发送请求就会报 404 Swagger 上调用如下 项目接口请求如下