- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在尝试解压缩一个 .cbz 文件(基本上是一个 .zip 文件)并将该 .cbz 文件中包含的所有 .png 图像存储到一个 std::vector<QImage>
中。 .
我正在使用 QuaZip 来执行此操作。我查看了一些在线示例,并尝试使用 QuaZip 类文档实现一些不同的方法。
这是我目前拥有的代码:
// Store all files for later access given the CBZ file
bool CbzReader::loadCbzFile(QString cbzFile) {
QuaZip zip(cbzFile);
zip.open(QuaZip::mdUnzip);
const QStringList fileList = zip.getFileNamesList();
QStringList allFiles = JlCompress::extractFiles(cbzFile, fileList);
QImage newImage;
for(int file = 0; file < fileList.size(); file++) {
QImageReader reader(allFiles[file]);
newImage = reader.read();
if(newImage.isNull()) return false;
imageList.push_back(newImage); //save image to class variable
}
return true;
}
变量allFiles
包含 265 个条目,但是,在 for 循环内部,它返回 false
, 作为 newImage
据说是invalid
通过 Qt。
我做错了什么?我应该在 QuaZip 中使用不同的功能而不是 JlCompress 吗?
最佳答案
事实证明,提取 .cbz 文件至少会产生一个不是图像文件的文件,而 QImage 正试图以此为基础,导致错误。我没有对解压缩文件的内容给予足够的关注。
这现在可以工作了,因为我使用 bool 表达式来检查未压缩文件的文件扩展名。
所以,是的,我的坏人。
关于c++ - 使用 QuaZip 提取 .cbz 并在 Qt 中创建 QImages?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54504346/
我正在尝试在我的 Qt 应用程序中探索 QuaZIP 库。我将 quazip.h 包含在 mainwindow.h 和 mainwindow.cpp 中(我通过自动完成获得包含,因此它们在子文件夹方面
是否可以使用 quazip 删除 zip 存档中的文件? 最佳答案 不幸的是,没有这样做的功能。 作为解决方法,您可以打开 zip 存档,然后使用 RAW 读写将您不想删除的文件复制到一个新的 zip
我正在查看从 .zip 中提取受密码保护的文件,发现 QuaZip 具有以下功能,但没有关于如何处理加密文件的代码示例或其他文档。 QuaZip 中的加密文件一定可以解压吗?如果是,请提供一些示例:)
在使用 JlCompress 功能时,是否可以从 QuaZip 获取进度? 这是我使用它的方式: JlCompress::compressDir(outputFile, inputDir, true)
我有以下代码来浏览 zip 存档中的文件夹和文件列表,并在创建它们时创建它们(如果尚未创建,也会为文件创建路径)。 当我使用 readData(char*, qint64) 提取内部文件数据以将其流式
我正在尝试将 QuaZip 添加到我的项目中,但出现构建错误,所有这些都与 undefined reference 有关。这是第一个错误,它们主要与 extractAll 函数中的存档函数有关。 错误
我有一个包含要压缩的文件和文件夹的目录。我正在为此使用 qt-project quazip。所以我想我写了一个函数来打包目录的所有内容,包括文件结构。 如何在 zip 文件中创建文件夹?我用 QuaZ
我在 Ubuntu 12.04 x86_64 上使用 QuaZIP 0.5.1 和 Qt 5.1.1 for C++。 我的程序读取一个大的 gzip 二进制文件,通常是 1GB 或更多的未压缩数据,
我将如何从 zip 内部复制文件夹(和文件夹的内容)并将文件夹的复制版本移动到不同的位置? 我在 QuaZipDir 中没有看到任何允许您这样做的函数。我希望有一种比解析文件然后创建和写入更简单的方法
如何使用 QuaZip 提取 .zip 文件并在 QProgressDialog 中显示其提取进度? 我试过这个 question1 的例子(还有这个 question2 )没有成功。因为我需要解压缩
我正在使用 QT4.7.3、VS2008 并尝试添加 QuaZip 库。 我得到 QuaZip、Zlib 并编译它,然后我可以制作“quazip.lib”文件。 我将 quazip.lib 添加到“P
我主要是尝试使用 QuaZip 从 zip 文件中提取 Mac 应用程序。我使用的代码是: QuaZip zip("file.zip"); qDebug() << zip.open(QuaZip::m
最新消息: 我修复了 QuaZip 问题 QtCrypto 现在可以在桌面平台(使用 AES 256)上运行。但是如何 为 Symbian 构建库? 问题: 如何构建 QtCryptoand QuaZ
我想用 QuaZip 在 ziarchive 的文本文件中写一个 QString。我在 WinXP 上使用 Qt Creator。使用我的代码,存档中的文本文件已创建但为空。 QDomDocument
我正在尝试在安装了 Qt 5.0.1 32 位 LGPL 的 Windows 7(32 位)上构建 quazip 库(0.5.1 版)。 当我在 Qt-Commandprompt 中运行时: qmak
我目前正在尝试解压缩一个 .cbz 文件(基本上是一个 .zip 文件)并将该 .cbz 文件中包含的所有 .png 图像存储到一个 std::vector 中。 . 我正在使用 QuaZip 来执行
抱歉,我对这类事情没有经验,但我已经在互联网上搜索了一段时间,以了解如何在 Win 10 上将 Quazip 与 Qt 5.6 一起使用。我将不胜感激关于如何使用的步骤列表构建 Quazip 并在 Q
我是一名优秀的程序员,十分优秀!