从QList填充QVector

时间:2013-10-24 15:15:26

标签: qt qt4 qlist qvector

我有一个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

1 个答案:

答案 0 :(得分:9)

你应该写:

vectorA = QVector::fromList(listA);

因为fromList是类QVector的静态方法。

您编写的代码从QVector创建listA,但由于您没有使用赋值运算符将其存储在某个变量中,或者通过函数调用使用它,因此会删除QVector。无论哪种方式,vectorA仍为空。

或者,您可以通过以下方式使用QList::toVector

vectorA = listA.toVector();