Ответ 1
Мне приходилось делать это несколько раз, и, насколько мне известно, единственный способ - создать новый список.
Если это то, что вам нужно делать часто с разными типами списков, вы можете сделать что-то немного странное:
template <typename T>
QVariantList toVariantList( const QList<T> &list )
{
QVariantList newList;
foreach( const T &item, list )
newList << item;
return newList;
}
чтобы при вызове вашей функции, которая входит в список QVariant, вы можете просто вызвать
myFunction( toVariantList(myList) );
Обратите внимание, что данная функция будет работать только для типов, которые могут быть неявно преобразованы в QVariants.