文章目錄
- 1. 介紹
- 2. 實例 - QLCDNumber倒計時
- 3. 資源文件
1. 介紹
QLCDNumber
是Qt框架中用于顯示數字的控件,它模擬了一個液晶數字顯示屏。
- 在Designer界面中顯示如下:
有以下 常用屬性:
屬性 | 描述 |
---|---|
intValue | 獲取或設置QLCDNumber 顯示的整數值。 |
doubleValue | 獲取或設置QLCDNumber 顯示的浮點數值。 |
mode | 獲取或設置QLCDNumber 的顯示模式。 |
segmentStyle | 獲取或設置QLCDNumber 的段樣式。 |
frameShape | 獲取或設置QLCDNumber 的框架形狀。 |
frameShadow | 獲取或設置QLCDNumber 的框架陰影效果。 |
digitCount | 獲取或設置QLCDNumber 顯示的數字位數。 |
2. 實例 - QLCDNumber倒計時
這里我們 利用QLCDNumber實現倒計時:即 從10開始,每一秒-1,直至為0。實現倒計時的效果:
如何實現每秒 -1 的操作? —— 利用定時器
- 首先在
widget.h
創建一個Qtimer對象以及 處理函數:
public slots:void startCountdown(); // 開始倒計時void startTimer(); // 啟動計時器
private:QTimer* timer;
- 隨后在
widget.cc
中分別對槽函數進行實現:
void Widget::startTimer()
{// 啟動定時器, 參數為觸發timeout的周期(ms)timer->start(1000);
}void Widget::startCountdown()
{// 獲取當前 LCDNumber 數值int value = ui->lcdNumber->intValue();if (value <= 0){// 數字減到0, 停止定時器.timer->stop();return;}ui->lcdNumber->display(value - 1);
}
- 最后在構造函數中進行 初始值的設置 以及 信號槽的連接:
Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);// 設置初始值ui->lcdNumber->display(10);// 創建 QTimer(計時器)timer = new QTimer(this);// 將計時器的timeout信號與槽函數startCountdown連接connect(timer, &QTimer::timeout, this, &Widget::startCountdown);// 將點擊按鈕信號與槽函數startTimer連接connect(ui->pushButton_start, &QPushButton::clicked, this, &Widget::startTimer);
}
效果演示:
3. 資源文件
上述所涉及的代碼等資源文件在👇
QLCDNumber的使用 - 實現倒計時