完成闹钟功
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
this->setFixedSize(860,270);
this->setWindowFlag(Qt::FramelessWindowHint);
//设置背景色
//获取一个调色板
QPalette p = ui->clockN->palette();
p.setColor(QPalette::Window,Qt::blue);//将调色板设置成蓝色
ui->clockN->setPalette(p);//将新创建的调色板设置到该窗口上
//调整透明度
ui->clockN->setWindowOpacity(0.1);
//调用定时器启动函数
timeid=startTimer(1000);
player->setVolume(50);//设置播放音量
}
Widget::~Widget()
{
delete ui;
}
//重写的定时器事件的定义
void Widget::timerEvent(QTimerEvent *)
{
//将时间显示到窗口上
//获取系统时间
QTime sysTime = QTime::currentTime();
//将时间类对象转换为字符串
t = sysTime.toString("hh:mm");
if(ok==true)
{
t[2]=':';
ok=false;
}
else
{
t[2]=' ';
ok=true;
}
ui->clockN->display(t);
if(t==ui->lineEdit->text())
{
ui->set->setVisible(true);
//播放音乐
killTimer(timeid);
//player->setMedia(QUrl::fromLocalFile("E:/CloudMusic/ww.mp3"));
player->play();
speech.say(ui->textEdit->toPlainText());
timeid=startTimer(10000);
}
}
//重写鼠标点击时间函数
void Widget::mousePreaaEvent(QMouseEvent *e)
{
startpoint = e->globalPos();//获取鼠标点击时的位置
//完成移动功能
tempPoint=startpoint-ui->clockN->frameGeometry().topLeft();
}
//重写鼠标移动时间函数
void Widget::mouseMoveEvent(QMouseEvent *e)
{
//判断按键,左键能进行移动,如果是右键,直接关闭
Qt::MouseButtons btn = e->buttons();
if(btn == Qt::LeftButton)
{
//移动
this->move(e->globalPos()-tempPoint);
}
else if(btn == Qt::RightButton)
{
this->close();
}
}
void Widget::on_set_clicked()
{
if(ui->lineEdit->text()!="")
{
timeid=startTimer(1000);
ui->set->setEnabled(false);
ui->lineEdit->setEnabled(false);
}
}
void Widget::on_cancel_clicked()
{
if(ui->lineEdit->text()!="")
{
timeid=startTimer(1000);
ui->set->setEnabled(true);
ui->lineEdit->setEnabled(true);
}
}
void Widget::on_clockN_overflow()
{
}