当前位置: 首页> 健康> 母婴 > 一建十大网校排名_建网站的公司价格_seo是谁_网络营销的特点是什么?

一建十大网校排名_建网站的公司价格_seo是谁_网络营销的特点是什么?

时间:2025/7/12 5:33:34来源:https://blog.csdn.net/fantasy_time_/article/details/142833323 浏览次数:0次
一建十大网校排名_建网站的公司价格_seo是谁_网络营销的特点是什么?

1、绘制钟表

头文件

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QPainter>         //画家类
#include <QTimer>
#include <QTime>
#include <QApplication>
#include <cmath>QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();//重写绘制时间处理函数void paintEvent(QPaintEvent *event) override;void updateClock();private:Ui::Widget *ui;QTimer *timer;
};
#endif // WIDGET_H

源文件

#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);timer = new QTimer(this);connect(timer, &QTimer::timeout, this, &Widget::updateClock);timer->start(1000);
}Widget::~Widget()
{delete ui;
}void Widget::paintEvent(QPaintEvent *event)
{//1、实例化一个画家QPainter maliang(this);//2、准备画笔QPen pen;           //无参构造pen.setStyle(Qt::SolidLine);      //使用实线的风格pen.setColor(QColor("red"));      //设置画笔颜色pen.setWidth(5);                 //设置画笔的粗细maliang.setPen(pen);//3、绘制钟表//圆盘maliang.translate(QPoint(this->width()/2,this->height()/2));maliang.drawEllipse(QPoint(0,0),200,200);// 绘制时钟的数字for (int i = 1; i <= 12; ++i) {// 计算数字的位置double angle = (i * 30) * M_PI / 180.0; // 将角度转换为弧度int x = 180 * cos(angle - M_PI / 2); // X坐标int y = 180 * sin(angle - M_PI / 2); // Y坐标// 设置字体和绘制数字maliang.setFont(QFont("Arial", 12));maliang.drawText(QPoint(x - 10, y + 5), QString::number(i)); // 调整位置以居中}//获取当前时间QTime time = QTime::currentTime();int hour = time.hour();int minute = time.minute();int second = time.second();//指针maliang.rotate(180);maliang.rotate(hour % 12 * 30 + minute / 2);maliang.drawLine(QPoint(0,0),QPoint(0,100));maliang.rotate(minute * 6 + 65);pen.setColor(QColor("yellow"));      //设置画笔颜色maliang.setPen(pen);maliang.drawLine(QPoint(0,0),QPoint(0,125));maliang.rotate(second * 6);pen.setColor(QColor("black"));      //设置画笔颜色maliang.setPen(pen);maliang.drawLine(QPoint(0,0),QPoint(0,150));}void Widget::updateClock()
{update();
}

2、绘制定时闹钟

头文件

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QTimer>
#include <QTime>
#include <QDebug>
#include <QMessageBox>
#include <QTimerEvent>
#include <QDateTime>
#include <QtTextToSpeech>QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();private slots:void on_startbat_clicked();void timeout_slot();void on_closebat_clicked();private:Ui::Widget *ui;//定义一个定时器类的指针QTimer *startbat;QTextToSpeech *speecher;      //播报员指针
};
#endif // WIDGET_H

源文件

#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);//给定时器申请空间startbat = new QTimer(this);//给播报员指针实例化对象speecher = new QTextToSpeech(this);//将定时器的timeout信号与自定义的槽函数进行链接connect(startbat,&QTimer::timeout,this,&Widget::timeout_slot);}Widget::~Widget()
{delete ui;
}//定时器按钮对应的槽函数
void Widget::on_startbat_clicked()
{if(ui->startbat->text() == "启动"){//启动一个定时器startbat->start(1000);ui->startbat->setEnabled(false);ui->closebat->setEnabled(true);}}//有关timeout信号对应的槽函数
void Widget::timeout_slot()
{QString t = ("2024-10-10  20:31:30");//将转换的时间展示到ui界面中的lab中ui->startLab->setText(t);QDateTime sysTime = QDateTime::currentDateTime();       //通过该函数获取当前系统的时间//将QTime类的对象转变成QString类的对象QString ts = sysTime.toString("yyyy-MM-dd  hh:mm:ss");//将转换的时间展示到ui界面中的lab中ui->presentEdit->setText(ts);if(ui->presentEdit->text() == ui->startLab->text()){QString msg =ui->textEdit->toPlainText();speecher->say(msg);}}void Widget::on_closebat_clicked()
{//关闭闹钟startbat->stop();//将闹钟设置成可用状态ui->startbat->setEnabled(true);ui->closebat->setEnabled(false);
}

关键字:一建十大网校排名_建网站的公司价格_seo是谁_网络营销的特点是什么?

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: