gpt4 book ai didi

c++ - Qt - 相对路径问题

转载 作者:行者123 更新时间:2023-11-30 04:19:19 27 4
gpt4 key购买 nike

  1. 我在 Qt Creator 的解决方案资源管理器中创建了一个新文件 (data.xml),该文件自动添加到 Other 文件夹。
  2. 我创建了一段从该文件读取数据的代码,但出现了一个问题:找不到该文件。
  3. 我将文件复制到 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

最佳答案

所有此类路径都是相对于您启动应用程序的目录计算的。 QtCreator 从它们自己的目录启动程序。在你的情况下,我建议你将这一行添加到你的 pro 文件中:

DESTDIR = $$PWD

关于c++ - Qt - 相对路径问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15930791/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com