我的问题是这样的。我有不同数字类型的列表,例如:
QList<qreal> mylist;
现在,我的代码中有一个函数,它期望一个QVariant参数,即mylist。我找到的唯一方法是使用for循环,将mylist中的所有数据添加到第二个列表中。
QList<QVariant> temp,
例如,将temp作为参数传递。我想知道是否有其他方法来做到这一点。
非常感谢。
template <typename T>
QVariantList toVariantList( const QList<T> &list )
{
QVariantList newList;
foreach( const T &item, list )
newList << item;
return newList;
}
这样当您调用接受QVariant列表的函数时,只需调用
myFunction( toVariantList(myList) );
QList<T>
转换为QVariantList
。这意味着您也可以使用QVariant执行转换。 - Timo