写一个QT程序计数器:10记一次数,5秒停止
时间: 2024-02-01 17:13:09 浏览: 130
以下是一个简单的计数器QT程序实现:
```cpp
#include <QApplication>
#include <QWidget>
#include <QLabel>
#include <QTimer>
class Counter : public QWidget
{
public:
Counter(QWidget *parent = nullptr) : QWidget(parent), count(0)
{
label = new QLabel(QString::number(count), this);
label->setGeometry(50, 50, 100, 50);
timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(increment()));
timer->start(5000); // 每5秒执行一次
setFixedSize(200, 200);
}
private slots:
void increment()
{
count += 10;
label->setText(QString::number(count));
if (count >= 100) {
timer->stop(); // 停止计时器
}
}
private:
QLabel *label;
QTimer *timer;
int count;
};
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
Counter counter;
counter.show();
return app.exec();
}
```
该程序创建了一个 `Counter` 类,继承自 `QWidget`,并在构造函数中初始化了 `QLabel` 和 `QTimer`,并设置了计时器的间隔为5秒。每次计时器超时时,程序会调用 `increment()` 槽函数,将计数器值增加10,并更新 `QLabel` 的文本。当计数器值大于等于100时,程序会停止计时器。
最后,在 `main()` 函数中创建了 `Counter` 对象,并显示了窗口。
阅读全文