vector<QString>参数存储vector<string>
时间: 2023-09-23 17:04:15 浏览: 75
可以通过循环遍历vector<string>,将每个string转换成QString,并存储到vector<QString>中。示例代码如下:
```cpp
vector<string> strVec = {"hello", "world"};
vector<QString> qstrVec;
for (const auto& str : strVec) {
qstrVec.push_back(QString::fromStdString(str));
}
```
这样就将vector<string>转换成了vector<QString>类型。
相关问题
c++ std::vector<std::string>转qt c++ qvector<qstring>
在C++中,如果你有一个`std::vector<std::string>`,它是一个标准库中的动态数组,用于存储字符串。为了将其转换为Qt中的`QVector<QString>`,你需要这样做:
```cpp
#include <QStringList>
#include <QVector>
// 假设你已经有了一个std::vector<std::string>叫vecStrings
std::vector<std::string> vecStrings = {"Hello", "World"};
// 使用QStringList构造函数将std::vector<std::string>转换为QStringList
QStringList strList(vecStrings.begin(), vecStrings.end());
// 然后你可以创建QVector<QString>并填充这个QStringList
QVector<QString> QVectorStrs(strList);
```
这里我们先创建了一个`QStringList`,然后通过它的构造函数将`std::vector<std::string>`的内容复制过去。最后,我们将`QStringList`赋值给`QVector<QString>`。
string<vector>转QString<QVector>
你可以使用QStringList和QVector的构造函数来实现这个转换。具体步骤如下:
1. 将string转换为QStringList,使用QString的split函数,将vector中的元素一个一个地添加到QStringList中。
2. 将QStringList转换为QVector,使用QVector的构造函数,将QStringList中的元素一个一个地添加到QVector中。
下面是示例代码:
```cpp
#include <QString>
#include <QStringList>
#include <QVector>
#include <vector>
QVector<QString> convertStringVectorToQStringVector(const std::vector<std::string>& stringVector)
{
QStringList stringList;
for (const auto& str : stringVector)
{
stringList.append(QString::fromStdString(str));
}
return QVector<QString>::fromList(stringList);
}
```
在这个示例代码中,我们定义了一个函数convertStringVectorToQStringVector,它接受一个std::vector<std::string>类型的参数stringVector,返回一个QVector<QString>类型的结果。
在函数中,我们首先定义了一个QStringList类型的变量stringList,用来存储转换后的QString。然后使用QString的split函数,将vector中的元素一个一个地添加到QStringList中。
最后,我们使用QVector的构造函数,将QStringList中的元素一个一个地添加到QVector中,并返回转换后的结果。
阅读全文