qt-C++笔记之带有倒计数显示的按钮,计时期间按钮锁定
code review!
文章目录
- qt-C++笔记之带有倒计数显示的按钮,计时期间按钮锁定
- 1.运行
- 2.main.cc
- 3.main.pro
1.运行
2.main.cc
代码
#include #include #include #include int main(int argc, char *argv[]){QApplication app(argc, argv);// 创建主窗口QWidget window;window.setWindowTitle("倒计时按钮示例");// 创建按钮QPushButton button(&window);button.setText("开始倒计时");button.setGeometry(50, 50, 150, 50);// 创建计时器QTimer timer;timer.setInterval(1000); // 设置计时器间隔为1秒(1000毫秒)int countDown = 2; // 倒计时初始值// 设置按钮的样式button.setStyleSheet("font-size: 20px; font-weight: bold;");// 定义按钮点击事件的处理函数QObject::connect(&button, &QPushButton::clicked, [&button, &timer, &countDown]() {button.setEnabled(false); // 禁用按钮timer.start(); // 启动计时器button.setText(QString::number(countDown)); // 显示倒计时初始值});// 定义计时器超时事件的处理函数QObject::connect(&timer, &QTimer::timeout, [&button, &timer, &countDown]() {countDown--; // 倒计时减1if (countDown > 0) {button.setText(QString::number(countDown)); // 更新按钮上的倒计时数字} else {button.setEnabled(true); // 启用按钮button.setText("开始倒计时");timer.stop(); // 停止计时器countDown = 2; // 重置倒计时初始值}});// 运行应用程序window.show();return app.exec();}
3.main.pro
代码
QT += widgetsTARGET = FileContentReaderTEMPLATE = appSOURCES += main.cppHEADERS +=FORMS +=DISTFILES += \