从 Qt 资源加载 Csv 文件

问题描述 投票:0回答:2

我正在尝试读取已添加到项目资源中的 csv 文件。 然而,当我尝试打开该文件时,它失败了。

std::ifstream csvFile;
csvFile.open(fileName);

这就是我尝试打开它的方式。资源中的其他文件都可以(所有其他文件都是图像,并且它们加载和显示正确)。 我正在使用 Qt5.7 和 Qt Creator 4.0.2

有什么提示吗?

c++ qt qt-creator
2个回答
2
投票

失败的原因是 Qt 资源并不是真正的文件,可以由每个处理文件的工具打开。相反,添加到 Qt 项目资源的文件内容会内置到生成的可执行文件中。

好消息是 Qt 具有允许您像使用真实文件一样使用这些资源的功能:

QString myResourceFile = ":/resources/file.csv";
QFile file(myResourceFile);
if (file.open(QIODevice::ReadOnly)) {
    QByteArray contents = file.readAll();
    // process file's contents
}
else {
    // Whoops, something went wrong, bad path to resource?
}

0
投票

从项目中的影子构建中删除复选框



QT Creator版本:6.4.3

© www.soinside.com 2019 - 2024. All rights reserved.