нет соответствующей функции для вызова ‘QDomDocument :: createElement (& lt; неразрешенный тип перегруженной функции & gt;)’

В настоящее время я пытаюсь поместить значения некоторых QLineEdits в документ XML. Я использую QDom для этого. Вот мой код:

void MainWindow::writeSysConf(const QString &arg1){
QFileDialog fdExport;

QString filename = fdExport.getSaveFileName(
this,
tr("SysConf-Konfig speichern"),
arg1,
tr("Konfigurationsdatei (*.xml)") );

if( !filename.isNull()) {
QFile::remove(filename);
if ( !filename.endsWith(".xml", Qt::CaseInsensitive))
filename += ".xml";
QFile file(filename);
file.open(QIODevice::WriteOnly | QIODevice::Text);
QTextStream outPut(&file);
QDomDocument xmlDocument;

QDomElement sysConfigElement = xmlDocument.createElement("SYSTEMCONFIGURATION");
QDomElement calibElement = xmlDocument.createElement("CALIB");
QDomElement crescendoElement = xmlDocument.createElement("CRESCENDO");
QDomElement swellsElement = xmlDocument.createElement("SWELLS");
sysConfigElement.appendChild(calibElement);
calibElement.appendChild(crescendoElement);

QDomNode minNode = xmlDocument.createElement(ui->lineEdit_2->text);
QDomNode maxNode = xmlDocument.createElement(ui->lineEdit_3->text);
QDomNode stepsNode = xmlDocument.createElement(ui->lineEdit_4->text);
QDomNode updateMsNode = xmlDocument.createElement(ui->lineEdit_5->text);

crescendoElement.appendChild(minNode);
crescendoElement.appendChild(maxNode);
crescendoElement.appendChild(stepsNode);
crescendoElement.appendChild(updateMsNode);

calibElement.appendChild(swellsElement);

xmlDocument.appendChild(sysConfigElement);
outPut << xmlDocument.toString(4);
}

}

Но в этих четырех строках:

QDomNode minNode = xmlDocument.createElement(ui->lineEdit_2->text);
QDomNode maxNode = xmlDocument.createElement(ui->lineEdit_3->text);
QDomNode stepsNode = xmlDocument.createElement(ui->lineEdit_4->text);
QDomNode updateMsNode = xmlDocument.createElement(ui->lineEdit_5->text);

он говорит, что я бы попытался использовать неразрешенный, перегруженный тип функции, чтобы поместить это в мои QDomNodes. Но, насколько я знаю, QLineEdits возвращает QString. Так в чем же проблема?

0

Решение

Починил это. Вам просто нужно добавить () позади ui-> lineEdit-> text, так как это функция. Так что мой будет выглядеть следующим образом:

QDomNode minNode = xmlDocument.createElement(ui->lineEdit_2->text());
QDomNode maxNode = xmlDocument.createElement(ui->lineEdit_3->text());
QDomNode stepsNode = xmlDocument.createElement(ui->lineEdit_4->text());
QDomNode updateMsNode = xmlDocument.createElement(ui->lineEdit_5->text());
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]