connect(timer, &QTimer::timeout, this, &void MainWindow:: Teltext);報錯,未預取的類型void
时间: 2023-07-10 10:28:14 浏览: 42
在这行代码中,将void作为槽函数的返回类型是不正确的,因为void是一个关键字,不能被用作返回类型。正确的写法应该是:
```cpp
connect(timer, &QTimer::timeout, this, &MainWindow::Teltext);
```
这里的MainWindow是指你的类名,Teltext是指你的槽函数名称,注意不要在函数名后面加上void,因为这会被解析为函数的返回类型。如果你的槽函数确实不需要返回值,那么可以将其返回类型设置为void,例如:
```cpp
private slots:
void Teltext();
```
这样就可以正常连接信号和槽了。
相关问题
解释以下代码:connect(timer, &QTimer::timeout, this, &BallTrajectory::readFile);
这段代码是用于连接一个 QTimer 对象的 timeout 信号与 BallTrajectory 类的 readFile() 槽函数。具体来说,connect() 是 Qt 中的一个信号与槽机制的函数,用于在对象之间建立信号与槽之间的连接。其中,timer 是 QTimer 对象的指针,&QTimer::timeout 是 QTimer 类中 timeout 信号的地址,this 是 BallTrajectory 类的指针,&BallTrajectory::readFile 是 BallTrajectory 类中 readFile() 槽函数的地址。这样,当 QTimer 对象发出 timeout 信号时,就会自动调用 BallTrajectory 类中的 readFile() 槽函数。
QObject::connect(&timer,&QTimer::timeout,&w.data_update());
这行代码中,QObject::connect() 函数用于连接 timer 对象的 timeout 信号和 w 对象的 data_update() 槽函数。当 timer 对象发出 timeout 信号时,就会调用 w 对象的 data_update() 槽函数。注意,data_update() 函数后面没有加括号,因为这里只需要传递函数指针,而不是调用函数。