Qt之QWidget 自定义倒计时器

简述

        Qt提供的带进度显示的只有一个QProgresBar,这个控件要么是加载进度从0~100%,要么是持续的两边滚动;而我想要是倒计时的效果,所以QProgresBar并不满足要求,而Qt重写控件相对于MFC来说简直是轻而易举,所以就整了两种不同的倒计时控件;

效果

代码

        QPushButton的绘制部分: 

void MProgressButton::paintEvent(QPaintEvent *event)
{
    QPushButton::paintEvent(event);

    if (m_iTotalMs > 0) {
        QPen pen;
        pen.setWidth(6);
        pen.setColor(Qt::red);

        QPainter painter(this);
        painter.setPen(pen);
        painter.setRenderHint(QPainter::Antialiasing);

        int w = width(), h = height();
        int total = (w + h) * 2;

        float percent = (m_iRemainMs * 1.0f / m_iTotalMs);
        float remain = percent * total;

        QLineF line;
        if (remain > 

相关推荐

  1. 定义多阶段计时实现分段计时

    2023-12-22 04:58:02       15 阅读
  2. QT学习定义控件封装

    2023-12-22 04:58:02       10 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-22 04:58:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-22 04:58:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-22 04:58:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-22 04:58:02       20 阅读

热门阅读

  1. Netty入门,原理,源码解析与验证

    2023-12-22 04:58:02       46 阅读
  2. 出版基础知识 | 汉字篇

    2023-12-22 04:58:02       39 阅读
  3. 项目测试包含的内容

    2023-12-22 04:58:02       43 阅读
  4. [SWPUCTF 2021 新生赛]PseudoProtocols

    2023-12-22 04:58:02       33 阅读
  5. LeetCode day28

    2023-12-22 04:58:02       44 阅读
  6. opencv贴图

    2023-12-22 04:58:02       28 阅读
  7. 算法练习Day17 (Leetcode/Python-二叉树)

    2023-12-22 04:58:02       48 阅读