저는 QT5를 처음 사용하고 있으며, 매우 이상한 문제가 있습니다. QTimer를 사용하여 0.5 초마다 좌표계를 읽으려고하지만 QTimer가 시간 초과 신호를 보내지 않습니다.Qt5는 타임 아웃 신호를 보내지 않습니다
내 .H :
#include <QMainWindow>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
public slots:
void test();
private:
Ui::MainWindow *ui;
};
내 통화 당 : 내가 추가
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QTimer myTimer(this);
myTimer.setInterval(500);
myTimer.setSingleShot(false);
connect(&myTimer, SIGNAL(timeout()), this, SLOT(test()));
myTimer.start();
}
void MainWindow::test() {
qDebug() << "Time out";
}
MainWindow::~MainWindow()
{
delete ui;
}
나는 프로그램이 아닌 하나의 "시간 초과"나타 시작 후 ...
"myTimer.start()"다음의 코드 :
QTime t = QTime::currentTime().addMSecs(550);
while (QTime::currentTime() < t) {
qDebug() << myTimer.remainingTime();
}
는 그리고 "을 MyTimer"의 남은 시간이 0으로 감소 후에는 남은 시간을 보충하고 다시 시작되지 않습니다 발견, 이미
사람이있어 추가 0
Q_OBJECT 유지 생각?
대단히 감사합니다!
요청시 실제 코드를 복사하여 붙여 넣으십시오. 'myTimer'와'mytimer'는 다른 식별자이고,';; '는 함수 인자 목록을 완성하는 유효한 구문이 아니기 때문에 첫 번째 코드는 컴파일되지 않습니다. – Sergey
코드에서'QTimer myTimer; '를 선언하고 후속 행을 작성합니까? – Sergey
@Sergey 죄송합니다. 방금 질문을 편집했으며 .h 및 .cpp 파일을 붙여 넣었습니다. –