我正在将QVector从一个窗口传递到另一个窗口,我想将QVector中前一个窗口中存在的值追加到当前窗口中的QString。当我执行添加no match for 'operator+'
时出现错误。QVector:不匹配'operator +'
这里是我的代码:
Window1.cpp
void SelectOS::processNextButton()
{
if(ui->win32->isChecked()){
QString path;
path = qApp->applicationDirPath()+"/WIN/32Bit";
so->osName.push_back(path);
SelectSoftware *ss = new SelectSoftware();
this->hide();
ss->show();
}
}
QVector<QString> SelectOS::getosName(){
so = new SelectOS();
return so->osName;
}
Window2.cpp
void SelectSoftware::getSoftwareDetails()
{
SelectOS *so = new SelectOS();
SelectSoftware *ss = new SelectSoftware();
ss->os = so->getosName();
QString fileName = ss->os + "/" +SOFTWARELIST; // Here I get the error...
QFile file(fileName);
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)){
QString msg = "Could not find the file " + fileName;
errorExit(msg);
}
QTextStream in(&file);
while (!in.atEnd()) {
QString line = in.readLine();
processLine(line.toLower());
}
}
帮帮我,谢谢...
我想从一个窗口传递字符串变量的列表到另一个,我需要使用哪一个? QList类型或QString或QVector? >>上面的代码崩溃了应用程序:( –
''QVector'完全适合这样做,就像'QList'一样,但是你是否试图从列表中的所有条目创建一个文件名?包含一个示例文件名,请显示'SOFTWARELIST'的定义 –
我想说的是:将变量从一个窗口传递到另一个窗口不是问题,您的问题是您构建文件的部分名称 –