qt+vs利用QTimer创建倒计时报错
.h
#pragma once
#include <QtWidgets/QMainWindow>
#include "ui_QtWidgetsApplication2.h"
#include"qtimer.h"
class QtWidgetsApplication2 : public QMainWindow
{
Q_OBJECT
public:
QtWidgetsApplication2(QWidget *parent = nullptr);
~QtWidgetsApplication2();
QTimer *timer;
private:
Ui::QtWidgetsApplication2Class ui;
private slots:
void a();
};
.cpp
#include "QtWidgetsApplication2.h"
QtWidgetsApplication2::QtWidgetsApplication2(QWidget *parent)
: QMainWindow(parent)
{
ui.setupUi(this);
QTimer *timer = new QTimer();
connect(timer, &QTimer::timeout, this, &QtWidgetsApplication2::a);
timer->start(1000);
}
QtWidgetsApplication2::~QtWidgetsApplication2()
{}
void QtWidgetsApplication2::a()
{
for (int i = 100; i > 0; i--)
{
this->ui.label->setText(QString::number(i));
}
timer->stop();
}
运行可以显示出窗口,并明显感觉到延迟了1s,说明问题出现在timeout后,但是并没有找到具体哪里有问题