#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 上 }