资源类别

class QInstaller::Resource

资源类是一个将文件作为只读设备包装的接口。查看详细信息...

头文件 #include <Resource>
继承 QIODevice

公共函数

Resource(const QString &path)
Resource(const QString &path, const QByteArray &name)
Resource(const QString &path, const Range&qint64> &segment)
virtual~Resource()
voidcopyData(QFileDevice *out)
QByteArrayname() const
boolopen(std::optional permissions = std::nullopt)
Range&qint64>segment() const
voidsetName(const QByteArray &name)
voidsetSegment(const Range&qint64> &segment)

重写的公共函数

virtual voidclose() override
virtual boolseek(qint64 pos) override
virtual qint64size() const override

静态公共成员

voidcopyData(QInstaller::Resource *resource, QFileDevice *out)

详细说明

资源是一个用于读取文件内部的接口,但不应该写入所包装的文件。通过传递现有二进制文件(例如压缩归档或 Qt 资源文件)的路径创建 Resource 类。

资源名称可以使用 setName() 或在构建期间设置。构建期间提供的段表示资源在文件中的偏移量和大小。

成员函数说明

[显式] Resource::Resource(const QString &path)

创建一个提供 path 中数据的资源。

Resource::Resource(const QString &path, const QByteArray &name)

创建一个提供 path 中由 name 标识的数据的资源。

Resource::Resource(const QString &path, const Range<qint64> &segment)

创建一个资源,提供限定的路径上的数据。

[虚拟 noexcept] Resource::~Resource()

销毁资源。在销毁资源之前,如果需要,将调用 close()。

[覆盖虚拟()] void Resource::close()

重实现: QIODevice::close().

void Resource::copyData(QFileDevice *out)

将资源数据复制到一个名为out的文件中。失败时抛出Error。

[静态] void Resource::copyData(QInstaller::Resource *resource, QFileDevice *out)

这是一个重载函数。

resource的资源数据复制到一个名为out的文件中。失败时抛出Error。

QByteArray Resource::name() const

返回资源的名称。

另请参阅setName().

bool Resource::open(std::optional<QFileDevice::Permissions> permissions = std::nullopt)

以QIODevice::ReadOnly模式打开资源。如果成功,函数返回true

[覆盖虚拟()] bool Resource::seek(qint64 pos)

重实现:QIODevice::seek(qint64 pos)。

Range<qint64> Resource::segment() const

返回此资源表示的文件内部的范围。

另请参阅setSegment().

void Resource::setName(const QByteArray &name)

将资源名称设置为name

另请参阅name().

void Resource::setSegment(const Range<qint64> &segment)

将范围设置为该资源表示的文件segment

另请参阅segment().

[覆盖虚拟()] qint64 Resource::size() const

重实现:QIODevice::size() const

©2021 年 Qt 公司有限公司的文档贡献版权属于各自的所有者。此处提供的文档是根据由自由软件基金会发布的《GNU 自由文档许可证》第 1.3 版许可使用的。GNU 自由文档许可证 1.3 版。Qt 公司、Qt 和其相关的标志是芬兰及其它国家/地区的 Qt 公司有限公司的商标。所有其他商标均为各自所有者的财产。