QtConcurrent::run中运行的函数带两个参数
时间: 2024-02-23 19:00:26 浏览: 74
如果你要在QtConcurrent::run中运行的函数带两个参数,可以考虑使用QVariantList作为参数,将两个参数打包成一个QVariantList,然后将QVariantList作为唯一的参数传递给QtConcurrent::run函数。在运行函数时,你可以将QVariantList解包,得到两个参数,然后调用你的函数。以下是一个示例代码:
```
void myFunction(int arg1, QString arg2)
{
// do something
}
QVariantList args;
args << QVariant::fromValue(42) << QVariant::fromValue("hello");
QtConcurrent::run(myFunction, args);
```
在myFunction函数中,你可以使用QVariantList的value函数获取解包后的参数,如下所示:
```
void myFunction(QVariantList args)
{
int arg1 = args.value(0).toInt();
QString arg2 = args.value(1).toString();
// do something
}
QVariantList args;
args << QVariant::fromValue(42) << QVariant::fromValue("hello");
QtConcurrent::run(myFunction, args);
```
阅读全文