Qt 将列表强制转换为QVariant或QVariant列表

Qt 将列表强制转换为QVariant或QVariant列表,qt,qvariant,Qt,Qvariant,我的问题是这个。我有不同数字类型的列表,例如: QList<qreal> mylist; QList-mylist; 现在,在我的代码中,有一个函数需要一个QVariant参数,它是mylist。我发现实现这一点的唯一方法是使用for-cyle并简单地将mylist中的所有数据添加到第二个列表中 QList<QVariant> temp, QList温度, 例如,将temp作为参数传递 我想知道是否还有其他方法可以做到这一点 非常感谢。我已经做了好几次了,据我所

我的问题是这个。我有不同数字类型的列表,例如:

QList<qreal> mylist;
QList-mylist;
现在,在我的代码中,有一个函数需要一个QVariant参数,它是mylist。我发现实现这一点的唯一方法是使用for-cyle并简单地将mylist中的所有数据添加到第二个列表中

QList<QVariant> temp, 
QList温度,
例如,将temp作为参数传递

我想知道是否还有其他方法可以做到这一点


非常感谢。

我已经做了好几次了,据我所知,唯一的办法就是创建一个新的列表

如果这是您必须经常使用不同类型的列表进行的操作,您可以做一些更高级的操作:

template <typename T>
QVariantList toVariantList( const QList<T> &list )
{
    QVariantList newList;
    foreach( const T &item, list )
        newList << item;

    return newList;
}

请注意,给定的函数只适用于可以隐式转换为QVariants的类型。

这正是我所担心的。非常感谢。注意:QVariant本身已经能够从
QList
转换为
QVariantList
。这意味着您也可以使用QVariant来执行转换。
myFunction( toVariantList(myList) );