Qt cpp 遍历list<string> camList 将元素放入QVector<QString> m_vecGuids
时间: 2024-03-16 18:46:04 浏览: 22
可以使用C++11中的range-based for循环来遍历camList,并将元素添加到m_vecGuids中。具体代码如下:
```cpp
#include <QtCore/QString>
#include <QtCore/QVector>
#include <list>
#include <string>
int main()
{
std::list<std::string> camList = {"cam1", "cam2", "cam3"};
QVector<QString> m_vecGuids;
for (const auto& cam : camList)
{
m_vecGuids.append(QString::fromStdString(cam));
}
return 0;
}
```
在循环中,我们使用了`const auto&`来声明一个常量引用,以便在循环中访问camList中的每个元素。然后,我们使用`QString::fromStdString()`将std::string类型的cam转换为QString类型,并将其添加到m_vecGuids中。
相关问题
遍历std::list<string> camListGet; 将数据存入QVector<QString> vecGuids;
可以使用std::list的迭代器遍历camListGet,将每个元素转换为QString类型,并添加到QVector<QString> vecGuids中。示例代码如下:
```c++
std::list<std::string> camListGet;
QVector<QString> vecGuids;
// 遍历camListGet
for (std::list<std::string>::iterator it = camListGet.begin(); it != camListGet.end(); ++it) {
// 将每个元素转换为QString类型,并添加到vecGuids中
vecGuids.append(QString::fromStdString(*it));
}
```
上述代码中,使用迭代器`it`遍历`camListGet`,并将每个元素转换为QString类型,使用`QString::fromStdString`函数实现。最后将转换后的QString类型元素添加到`vecGuids`中,使用`QVector::append`函数实现。
Qt cpp 遍历 QVector<DisplayWnd *> m_vecWidget;
遍历QVector的方法有很多种,可以使用下标访问,也可以使用迭代器,还可以使用C++11中的range-based for循环。具体代码如下:
使用下标访问:
```cpp
for (int i = 0; i < m_vecWidget.size(); ++i)
{
DisplayWnd* widget = m_vecWidget[i];
// 对widget进行操作
}
```
使用迭代器:
```cpp
for (QVector<DisplayWnd*>::iterator it = m_vecWidget.begin(); it != m_vecWidget.end(); ++it)
{
DisplayWnd* widget = *it;
// 对widget进行操作
}
```
使用range-based for循环:
```cpp
for (DisplayWnd* widget : m_vecWidget)
{
// 对widget进行操作
}
```
无论使用哪种方法,都可以遍历m_vecWidget中的每个元素,对其进行操作。