55 lines
1.5 KiB
C++
55 lines
1.5 KiB
C++
#include "timerform1.h"
|
|
#include "ui_timerform1.h"
|
|
|
|
TimerForm1::TimerForm1(QWidget *parent) :
|
|
QWidget(parent),
|
|
ui(new Ui::TimerForm1)
|
|
{
|
|
ui->setupUi(this);
|
|
ui->stoptimebtn->setEnabled(false); // 将停止按钮禁用
|
|
|
|
// 手动实现
|
|
timer = new QTimer(this);
|
|
// 绑定 timeout 超时信号
|
|
connect(timer,&QTimer::timeout,[&]{
|
|
QDateTime currentTime = QDateTime::currentDateTime();
|
|
ui->datetimeLabel->setText(currentTime.toString("yyyy-MM-dd hh:mm:ss")); // 将当前时间显示在 QLabel 上
|
|
});
|
|
}
|
|
|
|
TimerForm1::~TimerForm1()
|
|
{
|
|
delete ui;
|
|
}
|
|
|
|
void TimerForm1::on_starttimebtn_clicked()
|
|
{
|
|
// timerId = startTimer(1000); // 启动定时器,每秒触发一次定时器事件
|
|
|
|
// 手动实现
|
|
timer->start(1000);
|
|
ui->starttimebtn->setDisabled(true); // 将开始按钮禁用
|
|
ui->stoptimebtn->setEnabled(true); // 启用停止按钮
|
|
|
|
}
|
|
|
|
void TimerForm1::on_stoptimebtn_clicked()
|
|
{
|
|
// killTimer(timerId); // 停止定时器
|
|
|
|
// 手动实现
|
|
if(timer->isActive())
|
|
timer->stop();
|
|
ui->stoptimebtn->setEnabled(false); // 将停止按钮禁用
|
|
ui->starttimebtn->setDisabled(false); // 启用开始按钮
|
|
|
|
}
|
|
|
|
void TimerForm1::timerEvent(QTimerEvent *e){
|
|
// 发生了定时器事件
|
|
// 获取当前时间
|
|
QDateTime currentTime = QDateTime::currentDateTime();
|
|
ui->datetimeLabel->setText(currentTime.toString("yyyy-MM-dd hh:mm:ss")); // 将当前时间显示在 QLabel 上
|
|
}
|
|
|