Qt官方示例-数字时钟
- 2019 年 12 月 16 日
- 筆記
基于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版本}widgetswidgetsdigitalclock
- 相关链接
https://doc.qt.io/qt-5/qtwidgets-widgets-digitalclock-example.html