将2D矢量转换为2D QVector C ++

时间:2014-12-02 07:23:45

标签: c++ visual-studio qt vector qvector

我目前正在使用C ++开发一个项目,我正在使用Visual Studio 2010 Express和Qt Creator 5.3.2。用于应用程序的GUI。

我的问题是我想将2D矢量转换为2D QVector,我真的不知道如何做到这一点。例如,我使用fromStdVector()将1D向量转换为1D QVector,但我无法将数据从2D向量成功传输到2D QVector(使用此功能)。如果有人可以提供帮助,我将非常感激。

源代码:

QVector< QVector<double> > test2D; // 2D QVector
vector < vector<double> >  std_test2D; // 2D vector

test2D.resize(20); // dimensions of the 2D QVector
for(int i=0; i<20; ++i)
{
  test2D[i].resize(44);
}

std_test2D.resize(20); // dimensions of the 2D vector
for(int i=0; i<20; ++i)
{
  std_test2D[i].resize(44);
}

for(int i=0; i<20; i++)  // convert vector to QVector???
{
    test2D[i].fromStdVector(std_test2D[i]);
}

2 个答案:

答案 0 :(得分:0)

您没有分配值。我认为这应该可以使用example code from the documentation

 test2D[i] = QVector<double>::fromStdVector(std_test2D[i]);

答案 1 :(得分:0)

您可以尝试以下方法:

for(int i = 0; i < 20; i++)
{
    QVector v = QVector<double>::fromStdVector(std_test2D[i]);
    test2D[i].push_back(v);
}