我正在將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'的定義 –
我想說的是:將變量從一個窗口傳遞到另一個窗口不是問題,您的問題是您構建文件的部分名稱 –