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

Convert 2D vector to 2D QVector C++

本文关键字:2D QVector C++ 转换      更新时间:2023-10-16

我目前正在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]);
}

您没有分配值。我认为这应该使用文档中的示例代码工作:

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

您可以尝试以下操作:

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