1.程序效果
2.程序主题执行代码
#include "qtwork.h"
#include "ui_qtwork.h"
Qtwork::Qtwork(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::Qtwork)
{
ui->setupUi(this);
//设置纯净窗口
this->setWindowFlag(Qt::FramelessWindowHint);
//启动UI界面时发送一个start信号
/**********************/
//申请空间
T_line1=new QTimer(this);
//连接槽对应的槽函数,发送timeout信号
connect(T_line1,&QTimer::timeout,this,&Qtwork::time_line1);
//启动ui发送start
/**********************/
//初始化按钮状态
ui->btn_1->setEnabled(true); //启动为真
ui->btn_2->setEnabled(false); //取消为假
}
Qtwork::~Qtwork()
{
delete ui;
}
//将当前时间显示到UI界面中
void Qtwork::time_line1()
{
//获取当前时间 QTime::currentTime
QTime time=QTime::currentTime();
//将时间转换为字符串 tostring
QString time_s=time.toString();
//显示在ui界面
ui->line_1->setText(time_s);
//获取闹钟时间
QString s_line1,s_line2;
s_line2=ui->line_2->text();
//获取当前时间
s_line1=ui->line_1->text();
//时间比较
if(s_line1==s_line2)//时间对等
{
//获取文本信息存储
QString s_text = ui->text1->toPlainText();
//读出信息
QTextToSpeech *speech=new QTextToSpeech(this);
// while(flag==0)//用户不点取消一直读
// {
speech->say(s_text);
QThread::sleep(1);
// }
}
}
//重写鼠标按下事件,获取鼠标到UI界面左上角的向量值
void Qtwork::mousePressEvent(QMouseEvent *event)
{
//获取向量
mypoint=event->globalPos() - this->frameGeometry().topLeft();
}
void Qtwork::mouseMoveEvent(QMouseEvent *event)
{
this->move(event->globalPos()-mypoint);
}
//获取设定闹钟的时间,到时间播报提示信息
void Qtwork::on_btn_1_clicked()
{
//启动按钮以后循环发送信号
if(flag==1)
{
T_line1->start(1000);
ui->btn_1->setEnabled(false);//控制启动按钮不可点击
ui->btn_2->setEnabled(true); //改变取消按钮为真状态
flag=0;
}
}
//关闭闹钟
void Qtwork::on_btn_2_clicked()
{
T_line1->stop();//关闭闹钟
ui->btn_1->setEnabled(true);//控制启动按钮为真
ui->btn_2->setEnabled(false); //改变取消按钮为假
flag=1; //取消后不再循环读
}
//设置出字体谈话框
void Qtwork::on_btn_3_clicked()
{
bool ok=false; //返回用户是否返回字体
QFont myFont=QFontDialog::getFont(&ok,QFont("幼圆"),this,"字体");
//将选中的字体设置到文本内容
if(ok)
ui->text1->setCurrentFont(myFont);
}
//设置Text里字体的颜色
void Qtwork::on_btn_4_clicked()
{
QColor mycolor= QColorDialog::getColor(Qt::white,this,"字体颜色");
ui->text1->setTextColor(mycolor);//设置字体颜色
}
//设置Text里字体的背景
void Qtwork::on_btn_5_clicked()
{
QColor mycolor= QColorDialog::getColor(Qt::white,this,"字体颜色");
ui->text1->setTextBackgroundColor(mycolor);//设置字体颜色
}
//退出确认
void Qtwork::on_btn_6_clicked()
{
//父组件,"窗口名",“提示信息”,按钮
int ret=QMessageBox::critical(this,"退出","是否退出",QMessageBox::Yes|QMessageBox::No);
if(ret==QMessageBox::Yes)
{
this->close();
}
else if(ret==QMessageBox::No)
{}
}