前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Qt官方示例-数字时钟

Qt官方示例-数字时钟

作者头像
Qt君
发布2019-12-16 10:36:16
1.3K0
发布2019-12-16 10:36:16
举报
文章被收录于专栏:跟Qt君学编程跟Qt君学编程

基于QLCDNumber实现的LCD的时钟显示。

DigitalClock继承于QLCDNumber,并实现一个槽函数showTime()用来定时更新时钟显示:

class DigitalClock : public QLCDNumber
{
    Q_OBJECT

public:
    DigitalClock(QWidget *parent = 0);

private slots:
    void showTime();
};

DigitalClock构造函数初始化时间刷新定时器(一秒刷新一次)。

DigitalClock::DigitalClock(QWidget *parent)
    : QLCDNumber(parent)
{
    setSegmentStyle(Filled);

    QTimer *timer = new QTimer(this);
    connect(timer, &QTimer::timeout, this, &DigitalClock::showTime);
    timer->start(1000);

    showTime();

    setWindowTitle(tr("Digital Clock"));
    resize(150, 60);
}

  通过触发槽函数showTime从而调用display函数更新显示。这里有个小细节就是,将当前时间将转换为格式为hh:mm的字符串。当time.second()是偶数时,字符串中的冒号将被替换为空格。这样就可以每隔一秒出现并消失一次形成动态效果。

void DigitalClock::showTime()
{
    QTime time = QTime::currentTime();
    QString text = time.toString("hh:mm");
    if ((time.second() % 2) == 0)
        text[2] = ' ';
    display(text);
}

关于更多

  • QtCreator软件可以找到:
  • 或在以下Qt安装目录找到:
C:\Qt\{你的Qt版本}\Examples\{你的Qt版本}\widgets\widgets\digitalclock
  • 相关链接
https://doc.qt.io/qt-5/qtwidgets-widgets-digitalclock-example.html
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-12-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Qt君 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于更多
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档