- #include "widget.h"
- #include "ui_widget.h"
-
- Widget::Widget(QWidget *parent)
- : QWidget(parent)
- , ui(new Ui::Widget)
- {
- ui->setupUi(this);
-
- //给定时器指针实例化一个对象
- timer = new QTimer(this);
-
- //给语音播报者实例化一个空间
- speecher = new QTextToSpeech(this);
-
-
- //将该定时器的timeout信号链接到自定义的槽函数中
- //connect(timer,&QTimer::timeout,this,&Widget::timeout_slot);
-
- this->setWindowTitle("闹钟小能手");
- this->setWindowIcon(QIcon(":/pictrue/R-C.png"));
-
-
- //窗口
- QPixmap background(":/pictrue/bd315c6034a85edf9c8a4d994f540923dd547501.jpg");
-
- // 创建一个QPalette对象,并将背景图像设置为窗口背景
- QPalette palette;
- palette.setBrush(this->backgroundRole(), QBrush(background));
- this->setPalette(palette);
-
- // 将窗口的背景模式设置为固定尺寸
- this->setAutoFillBackground(true);
-
- /********************************************************************************/
- // //设置闹钟背景
- // // ui->Qlable->setPixmap(QPixmap(":/pictrue/bd315c6034a85edf9c8a4d994f540923dd547501.jpg"));
- // // //自动适应标签
- // // ui->Qlable->setScaledContents(true);
-
-
- //按钮设计
- ui->btn1->setIcon(QIcon(":/pictrue/R-C.png"));
- ui->btn1->setWindowOpacity(0.9);
- ui->btn2->setIcon(QIcon(":/pictrue/R-C.jfif"));
-
- //标签设计
- ui->Lable1->setPixmap(QPixmap(":/pictrue/R-C.png"));
- //自动适应标签
- ui->Lable1->setScaledContents(true);
- ui->Lable1->setWindowOpacity(0.9);
-
- //标签设计
- ui->Lable2->setPixmap(QPixmap(":/pictrue/R-C.jfif"));
- //自动适应标签
- ui->Lable2->setScaledContents(true);
- ui->Lable2->setWindowOpacity(0.9);
-
-
- }
-
- Widget::~Widget()
- {
- delete ui;
- }
- void Widget::timerEvent(QTimerEvent *e)//定时器处理事件
- {
- if(e->timerId()==timer_id)
- {
- QTime s=QTime::currentTime();//获取系统时间
- //将QTime类对象转换为字符串
- QString t=s.toString("hh:mm:ss");
-
- //展示到ui界面
- ui->Lable1->setText(t);
-
- //居中显示
- ui->Lable1->setAlignment(Qt::AlignCenter);
-
- //设置字体
- // 创建一个字体对象
- QFont font("Arial", 30, QFont::Bold);
-
- // 设置标签的字体
- ui->Lable1->setFont(font);
-
- //接收输入的文本
- QString v = ui->lineEdit->text();
-
- if(t==v)
- {
- //speecher->say(ui->Lable3->text());
-
-
- int i=0;//播报十遍
- while( i=10)
- {
- speecher->say(ui->textEdit->toPlainText());
- i++;
-
- }
-
- }
-
-
-
- }
-
- }
-
-
-
- void Widget::on_btn1_clicked()//启动按钮
- {
- //启动一个定时器,超过时间和自动调用定时器事件处理函数
- timer_id=this->startTimer(1000);
- }
-
- void Widget::on_btn2_clicked()//停止按钮
- {
- //关闭给定的定时器
- this->killTimer(timer_id);
-
-
- }
-
-
效果图: