Próbowałem zawartości kopii jednego wektora do QVector
stosując następującykopiowania std :: vector do qvector
std::copy(source.begin(),source.end(),dest.begin());
Jednak docelowy QVector
nadal jest pusta.
Wszelkie sugestie?
Próbowałem zawartości kopii jednego wektora do QVector
stosując następującykopiowania std :: vector do qvector
std::copy(source.begin(),source.end(),dest.begin());
Jednak docelowy QVector
nadal jest pusta.
Wszelkie sugestie?
Spójrz:
std::vector<T> QVector::toStdVector() const
QVector<T> QVector::fromStdVector (const std::vector<T> & vector) [static]
próbował tego. jako 'MyQvector.fromStdVector (MyStedVector);' nadal qvector jest pusty – Rajeshwar
@Rajeshwar: ponieważ jest to metoda statyczna, spróbuj: MyQvector = QVector :: fromStdVector (MyStedVector); – user1837009
To się udało. Dzięki – Rajeshwar
Jeśli tworzysz nową QVector
z zawartości std::vector
można wykorzystać następujący kod jako przykład:
std::vector<T> stdVec;
QVector<T> qVec = QVector<T>::fromStdVector(stdVec);
As inne odpowiedzi wymienione, należy użyć następującej metody, aby przekonwertować QVector
na std::vector
:
std::vector<T> QVector::toStdVector() const
I następująca metoda statyczna konwertować std::vector
Do QVector
:
QVector<T> QVector::fromStdVector(const std::vector<T> & vector)
Oto przykład jak używać QVector::fromStdVector
(zaczerpnięte z here):
std::vector<double> stdvector;
vector.push_back(1.2);
vector.push_back(0.5);
vector.push_back(3.14);
QVector<double> vector = QVector<double>::fromStdVector(stdvector);
Nie zapomnij podać typu po drugim QVector
(powinno być QVector<double>::fromStdVector(stdvector)
, a nie QVector::fromStdVector(stdvector)
). W przeciwnym razie wystąpi uciążliwy błąd kompilatora.
Użyj ['QVector :: fromStdVector'] (http://qt-project.org/doc/qt-4.8/qvector.html#fromStdVector) – Praetorian