std::vector<std::string> 转换成QStringList
时间: 2024-12-09 14:12:45 浏览: 9
在C++中,`std::vector<std::string>` 和 `QList<QString>` 都是用来存储字符串序列的数据结构,但它们来自不同的库:一个是C++标准库(STL),另一个是Qt库。如果你需要将`std::vector<std::string>`转换成`QList<QString>`以便于在Qt应用程序中使用,你可以这样做:
```cpp
#include <QVector>
#include <QStringList>
// 假设你已经有了一个std::vector<std::string>叫做vecStrings
QList<QString> QStringListFromStdString(const std::vector<std::string>& vecStrings) {
QVector<QString> temp(vecStrings.size());
for (size_t i = 0; i < vecStrings.size(); ++i) {
temp[i] = QString(vecStrings[i].c_str()); // 使用QString构造函数从C风格字符串创建QString
}
return QStringList(temp); // 将QVector转换为QStringList
}
// 现在你可以这样使用转换后的QStringList:
std::vector<std::string> myStrings = {"Hello", "World"};
QList<QString> myQStringList = QStringListFromStdString(myStrings);
```
阅读全文