2013-10-24 84 views
2

我有一個QList和QVector。我填充Qlist,然後嘗試複製到QVector。 Ovector有一個fromList()方法。但它不起作用。從QList填充QVector

我的代碼:

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返回空

我使用Qt 4.8.5 Linux的

回答

9

你應該寫:

vectorA = QVector::fromList(listA); 

fromList是類QVector的靜態方法。

您編寫的代碼從listA創建了一個QVector,但由於您未使用賦值運算符將其存儲在某個變量中,或者通過函數調用將其用於實例,因此將丟棄QVector。無論哪種方式,vectorA都是空的。

或者,你可以使用QList::toVector方式如下:

vectorA = listA.toVector(); 
+0

謝謝@Lohrun – user4757345

+0

我只好也模板定義添加到靜態方法,它的工作:QVector :: fromlist裏(名單) – KuramaYoko