qt-C++笔记之带有倒计数显示的按钮,计时期间按钮锁定

qt-C++笔记之带有倒计数显示的按钮,计时期间按钮锁定

code review!

文章目录

1.运行

2.main.cc

代码

cpp 复制代码
#include <QApplication>
#include <QPushButton>
#include <QTimer>
#include <QFont>

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--; // 倒计时减1
        if (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

代码

bash 复制代码
QT += widgets

TARGET = FileContentReader
TEMPLATE = app

SOURCES += main.cpp

HEADERS +=

FORMS +=

DISTFILES += \
相关推荐
努力实干6 小时前
面向对象设计原则——C++
开发语言·c++·数码相机
syagain_zsx9 小时前
jsoncpp 使用指南:编译链接、Json::Value 取值与高频坑
c++·json·库·http格式
Swilderrr9 小时前
论文精读:《Directory-Aware Query and Maintenance in Vector Databases》
笔记·学习
SatanII9 小时前
K8s 存储与配置管理|Volume、ConfigMap、Secret 核心笔记
笔记·rpc·kubernetes
布莱克60510 小时前
理解 = delete 与 = default:两种赋值语义的差异
c++
小小、码农11 小时前
[特殊字符]【C++11】类的新功能全面解析:移动构造、移动赋值、default、delete、final 与 override
linux·开发语言·网络·c++
I'mChloe11 小时前
飞牛NAS部署flatnotes实战:Docker、8080端口、Markdown笔记与固定地址访问
笔记·docker·容器
库玛西11 小时前
外部排序全解析:败者树、置换-选择排序与最佳归并树
c语言·数据结构·c++·笔记·考研·算法
摇滚侠11 小时前
《Java并发编程之美》第 2 章 并发编程的其他基础知识 阅读笔记 3
android·java·笔记
ss27312 小时前
AI时代首先数据库-PostgreSQL实战笔记 | 18 PostgreSQL基本索引原理与创建
数据库·笔记·postgresql