我有一个QList和QVector。我填充Qlist,然后尝试复制到QVector。 Ovector有fromList()方法。但它不起作用。
我的代码:
QList<int> listA;
QVector<int> vectorA; //I also tried QVector<int>vectorA(100);
for(int i=0; i<100; i++)
{
listA.append(i);
}
vectorA.fromList(listA);
此代码后,vectorA返回空
我在Linux下使用Qt 4.8.5
答案 0 :(得分:9)
你应该写:
vectorA = QVector::fromList(listA);
因为fromList
是类QVector
的静态方法。
您编写的代码从QVector
创建listA
,但由于您没有使用赋值运算符将其存储在某个变量中,或者通过函数调用使用它,因此会删除QVector。无论哪种方式,vectorA仍为空。
或者,您可以通过以下方式使用QList::toVector
:
vectorA = listA.toVector();