【发布时间】:2013-12-19 14:20:41
【问题描述】:
如何访问vector<string> 类型中的QStringList 元素。 push_back 不起作用。 inserting 也只需要另一个 vector 类型。
#include <QtCore/QCoreApplication>
#include <QDebug>
#include <QStringList>
#include <vector>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
std::vector<string> vec;
QString winter = "December, January, February";
QString spring = "March, April, May";
QString summer = "June, July, August";
QString fall = "September, October, November";
QStringList list;
list << winter;
list += spring;
list.append(summer);
list << fall;
qDebug() << "The Spring months are: " << list[1] ;
qDebug() << list.size();
for(int i=0;i<list.size();i++)
{
//vec.push_back(list[i]);
}
exit(0);
return a.exec();
}
【问题讨论】:
-
list[i]是QStrings,而不是std::strings。请改用list[i].toStdString()。 -
为什么不呢?
vec.push_back(list[i].toStdString());