- 我在 Qt Creator 的解决方案资源管理器中创建了一个新文件 (data.xml),该文件自动添加到
Other
files 文件夹中。 - 我创建了一段从该文件中读取数据的代码,但出现了一个问题:找不到该文件。
- 我将文件复制到
c://data.xml
并将代码中的路径也更改为c://data.xml
,一切正常。
我的问题是:如何处理这些相对路径?
这是代码:
QString filename="data.xml";
QVector<Student> students;
QFile file(filename);
if (!file.open(QFile::ReadOnly | QFile::Text))
{
return;
}
QDomDocument doc;
if (!doc.setContent(&file))
{
file.close();
return;;
}
file.close();
QDomElement root = doc.documentElement();
QDomElement studentNode = root.firstChildElement("Student");
while(!studentNode.isNull())
{
QString firstName=studentNode.firstChildElement("FirstName").text();
QString lastName=studentNode.firstChildElement("LastName").text();
int age=studentNode.firstChildElement("Age").text().toInt();
students.push_back(Student(firstName, lastName, age));
studentNode=studentNode.nextSiblingElement("Student");
}
这是项目文件:
QT += core gui xml
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = GUI1
TEMPLATE = app
SOURCES += main.cpp\
mainwindow.cpp \
editdialog.cpp \
student.cpp
HEADERS += mainwindow.h \
editdialog.h \
student.h
FORMS += mainwindow.ui \
editdialog.ui
OTHER_FILES += \
data.xml