在Qt5中,我使用了QtConcurrent,如
void MainWindow::startServerBG(int arg){
}
QFuture<void> future = QtConcurrent::run(this,&MainWindow::startServerBG,arg);
但同样的代码在Qt6中给出了编译错误。
文档说明了一些功能上的变化,但我不明白,谁能告诉我如何为Qt6重写上述代码
错误
- 主窗口。cpp:96:错误:静态Assert失败:传递的可调用对象的第一个参数不是QPromise &类型。是否要传递将QPromise &类型作为第一个参数的可调用对象?否则,无法使用传递的参数调用函数。*
1条答案
按热度按时间g6ll5ycj1#
QConcurrent::run
的签名已更改为使用可变数量的参数:因此,要修复代码,只需更改
到
https://doc.qt.io/qt-6/concurrent-changes-qt6.html#qtconcurrent-run