QTday4

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    id=startTimer(1000);

}

Widget::~Widget()
{
    delete ui;
}

void Widget::timerEvent(QTimerEvent *event)
{
    ui->timelab->setText(QTime().currentTime().toString());
//    qDebug()<<ui->timelab->text();
//    qDebug()<<ui->timeEdit->text();
    static int num=0;
    if(flag==1){
        ui->startbtn->setStyleSheet("background-color:green");
        if(num<5){
            if(QTime().currentTime().toString("hh:mm")==ui->timeEdit->text()){
                QTextToSpeech *speech=new QTextToSpeech(this);
                speech->say(ui->textEdit->toPlainText());
                num++;
            }
        }
        else{
            flag=0;
            num=0;
        }
    }
    else{
        ui->startbtn->setStyleSheet("");
    }
//    qDebug()<<num;
//    qDebug()<<flag;
}

void Widget::on_startbtn_clicked()
{
    flag=1;
}

void Widget::on_stopbtn_clicked()
{
    flag=0;
}

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    id=startTimer(1000);
}

Widget::~Widget()
{
    delete ui;
}

void Widget::paintEvent(QPaintEvent *event){
    //实例化一个画家
    QPainter p(this);

    //实例化画笔
    QPen pen(QColor(QRgb(qRgb(0,0,0))));

    //将画笔给画家
    p.setPen(pen);

    //移动画家绘制中心
    p.translate(QPoint(this->width()/2,this->height()/2));

    //绘制一个圆
    p.drawEllipse(QPoint(0,0),200,200);

    for(int i=0;i<60;i++){
        if(i%5==0){
            pen.setWidth(3);
            p.setPen(pen);
            if(i/5==0){
                p.drawText(0,-175,"12");
            }
            else{
                p.drawText(0,-175,QString("%1").arg(i/5));
            }
        }
        else{
            pen.setWidth(1);
            p.setPen(pen);
        }
        p.drawLine(0,-195,0,-200);
        p.rotate(6);
    }
    //绘制时针
     for(int i=0;i<360;i++){
        p.rotate(1);
        if(i==((QTime().currentTime().hour())*30%360+QTime().currentTime().minute()/2)){
            p.drawLine(0,0,0,-50);
        }
        else if(i==(QTime().currentTime().minute()*6)){
            p.drawLine(0,0,0,-100);
        }
        else if(i==QTime().currentTime().second()*6){
            p.drawLine(0,0,0,-150);
        }
    }
}

void Widget::timerEvent(QTimerEvent *event){
    this->update();
}

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值