这是代码
#include <iostream>
#include <QApplication>
#include <QTimer>
class myClass : public QObject {
Q_OBJECT
public:
QTimer *timer;
myClass(){
timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(mySlot()));
timer->start(1000);
}
public slots:
void mySlot() {
std::cout << "Fire" << std::endl;
}
};
int main() {
std::cout << "Hello, world";
myClass atimer;
return 0;
}
除了错误之外,还有两件事我不明白:
为什么宏后面没有分号,在本例中为 Q_OBJECT。它似乎不遵守 C++ 语法,但人们编写这样的代码。
“public slot”是Qt创建的修饰符,但是gcc编译器怎么还能看懂呢。像 Qt 这样的 IDE 如何修改语言的标准语法?