怎么使用QTimer来计时
时间: 2024-03-30 10:10:15 浏览: 52
使用QTimer来计时需要以下步骤:
1. 引入头文件:`#include <QTimer>`
2. 创建一个 QTimer 对象:`QTimer *timer = new QTimer(this);`
3. 连接 QTimer 的 timeout 信号到槽函数:`connect(timer, SIGNAL(timeout()), this, SLOT(update()));`
其中,`update()` 是一个自定义的槽函数,用于更新计时器的显示。
4. 设置计时器的时间间隔:`timer->start(1000);`
其中,1000 表示 1 秒,即计时器每隔 1 秒触发一次 timeout 信号。
5. 在槽函数中更新计时器的显示:`ui->label->setText(QString::number(count++));`
其中,count 是计时器的计数器,每次 timeout 信号触发时自增 1,然后将其转换为字符串并设置到 QLabel 控件上。
完整的示例代码如下:
```c++
#include <QTimer>
#include <QLabel>
class MyWidget : public QWidget
{
Q_OBJECT
public:
MyWidget(QWidget *parent = nullptr) : QWidget(parent)
{
timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(update()));
timer->start(1000);
label = new QLabel(this);
label->setText("0");
}
private slots:
void update()
{
label->setText(QString::number(count++));
}
private:
QTimer *timer;
QLabel *label;
int count = 0;
};
```
阅读全文