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