QMimeType 类

QMimeType 类描述文件或数据的类型,由 MIME 类型字符串表示。 更多...

头文件 #include <QMimeType>
CMakefind_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmakeQT += core

属性

公共函数

QMimeType()
QMimeType(const QMimeType &other)
~QMimeType()
QStringListaliases() const
QStringListallAncestors() const
QStringcomment() const
QStringfilterString() const
QStringgenericIconName() const
QStringListglobPatterns() const
QStringiconName() const
boolinherits(const QString &mimeTypeName) const
boolisDefault() const
boolisValid() const
QStringname() const
QStringListparentMimeTypes() const
QStringpreferredSuffix() const
QStringListsuffixes() const
voidswap(QMimeType &other)
booloperator!=(const QMimeType &other) const
QMimeType &operator=(const QMimeType &other)
QMimeType &operator=(QMimeType &&other)
booloperator==(const QMimeType &other) const
size_tqHash(const QMimeType &key, size_t seed = 0)

详细描述

例如,名为 "readme.txt" 的文件具有 "text/plain" 的 MIME 类型。MIME 类型可以通过文件名、文件内容或两者共同来确定。对于不是来自文件的文本数据的缓冲区,也可以执行 MIME 类型确定。

确定文件的 MIME 类型对于确保您的应用程序支持该文件类型非常有用。在文件管理器或小部件等应用程序中,这也很有用,以显示文件的适当 图标,甚至详细视图中的描述性 注释

要检查文件是否具有期望的 MIME 类型,应使用 inherits() 而不是基于名称的简单字符串比较。这是因为 MIME 类型可以相互继承:例如,C 源文件是纯文本文件的特定类型,因此 text/x-csrc 继承了 text/plain。

另请参阅QMimeDatabaseMIME 类型浏览器

属性文档

[只读] aliases : const QStringList

此属性包含该 MIME 类型的别名单曲

例如,对于 text/csv,返回的列表将包括:text/x-csv, text/x-comma-separated-values。

请注意,所有 QMimeType 实例都引用了真正的 MIME 类型,从未直接引用别名。

列表中别名的顺序是未定义的。

虽然在 5.10 中引入了此属性,但相应的访问器方法一直都有。

访问函数

QStringListaliases() const

[只读] allAncestors : const QStringList

此属性包含直接和间接父 MIME 类型的名称

返回此 MIME 类型的所有父 MIME 类型,直接和间接。这包括其父的父等。

例如,对于 image/svg+xml,列表将为:application/xml, text/plain, application/octet-stream。

请注意,application/octet-stream 是所有类型文件(但不是目录)的最终父类型。

虽然在 5.10 中引入了此属性,但相应的访问器方法一直都有。

访问函数

QStringListallAncestors() const

[只读] comment : const QString

此属性包含要在用户界面显示的 MIME 类型的描述

使用默认语言(QLocale().name())选择适当的翻译。

虽然在 5.10 中引入了此属性,但相应的访问器方法一直都有。

访问函数

QStringcomment() const

[只读] filterString : const QString

此属性包含可用于文件对话框的过滤器字符串

虽然在 5.10 中引入了此属性,但相应的访问器方法一直都有。

访问函数

QStringfilterString() const

[只读] genericIconName : const QString

此属性保存表示 MIME 类型的通用图标的文件名

如果无法在系统中找到 iconName() 返回的图标,应使用此属性。它用于具有相似类型的类别(如电子表格或存档),可以使用一个公共图标。freedesktop.org 图标命名规范列出了这样的图标名称。

可以使用 QIcon::fromTheme() 将图标名称传入以加载图标。

虽然在 5.10 中引入了此属性,但相应的访问器方法一直都有。

访问函数

QStringgenericIconName() const

[只读] globPatterns : const QStringList

此属性保存 glob 匹配模式列表

虽然在 5.10 中引入了此属性,但相应的访问器方法一直都有。

访问函数

QStringListglobPatterns() const

[只读] iconName : const QString

此属性保存表示 MIME 类型的图标图像的文件名

可以使用 QIcon::fromTheme() 将图标名称传入以加载图标。

虽然在 5.10 中引入了此属性,但相应的访问器方法一直都有。

访问函数

QStringiconName() const

[只读] isDefault : const bool

true 如果此 MIME 类型是应用于所有文件的默认 MIME 类型:application/octet-stream。

虽然在 5.10 中引入了此属性,但相应的访问器方法一直都有。

访问函数

boolisDefault() const

[只读] name : const QString

此属性保存 MIME 类型的名称

虽然在 5.10 中引入了此属性,但相应的访问器方法一直都有。

访问函数

QStringname() const

[只读] parentMimeTypes : const QStringList

此属性保存父 MIME 类型的名称

如果一个类型是另一个类型的子类型,如果一个类型的任何实例也是第二个类型的实例。例如,所有的 image/svg+xml 文件也是 text/xml、text/plain 和 application/octet-stream 文件。子类型化关于格式,而不是数据类别(例如,没有所有电子表格继承的 "通用电子表格" 类)。相反,image/svg+xml 的父 MIME 类型是 text/xml。

一个 MIME 类型可以有多父类型。例如,application/x-perl 有两个父类型:application/x-executable 和 text/plain。这使得可以使用 Perl 脚本,也可以在文本编辑器中打开它们。

虽然在 5.10 中引入了此属性,但相应的访问器方法一直都有。

访问函数

QStringListparentMimeTypes() const

[只读] preferredSuffix : const QString

此属性保存 MIME 类型的首选后缀

不包含前导点,例如,对于 application/pdf 返回 "pdf"。返回值可以为空,对于没有关联任何后缀的 MIME 类型。

虽然在 5.10 中引入了此属性,但相应的访问器方法一直都有。

访问函数

QStringpreferredSuffix() const

[只读] suffixes : const QStringList

此属性保存 MIME 类型的已知后缀

不包含前导点,例如,对于 image/jpeg 返回 "jpg"、"jpeg"。

虽然在 5.10 中引入了此属性,但相应的访问器方法一直都有。

访问函数

QStringListsuffixes() const

[只读] valid : const bool

true 如果 QMimeType 对象包含有效数据,否则 false

有效的MIME类型有一个非空的名称。无效的MIME类型是默认构造的QMIMEType

虽然在 5.10 中引入了此属性,但相应的访问器方法一直都有。

访问函数

boolisValid() const

成员函数文档

QMimeType::QMIMEType()

构造一个QMIMEType对象,它使用默认属性值,表示无效的MIME类型。

QMimeType::QMIMEType(const QMIMEType &other)

将此QMIMEType对象构造为other的副本。

[noexcept] QMimeType::~QMIMEType()

销毁QMIMEType对象,并释放d指针。

[可调用] bool QMimeType::inherits(const QString &mimeTypeName) const

如果此mimetype是mimeTypeName,或者继承自mimeTypeName(见父MIME类型()),或者mimeTypeName是此mimetype的别名,则返回true

此方法自5.10版本以来,可以从QML调用。

注意:此函数可以通过元对象系统从QML调用。请参阅Q_INVOKABLE

[noexcept] void QMimeType::swap(QMIMEType &other)

交换QMIMEType other与此QMIMEType对象。

此操作非常快,绝对不会失败。

swap()方法有助于以异常安全的方式实现赋值运算符。有关更多信息,请参阅More C++ Idioms - Copy-and-swap

bool QMimeType::operator!=(const QMIMEType &other) const

如果other不等于此QMIMEType对象,则返回true,否则返回false

QMIMEType &QMIMEType::operator=(const QMIMEType &other)

other的数据赋给此QMIMEType对象,并返回对此对象的引用。

[noexcept] QMIMEType &QMIMEType::operator=(QMIMEType &&other)

移动赋值other到此QMIMEType实例。

bool QMimeType::operator==(const QMIMEType &other) const

如果other等于此QMIMEType对象,则返回true,否则返回false。名称是mimetype的唯一标识符,因此具有相同名称的两个mimetype是相等的。

相关非成员

[noexcept] size_t qHash(const QMimeType &key, size_t seed = 0)

返回密钥的哈希值,使用seed来初始化计算。

© 2024 Qt公司有限。在此包括的文档贡献是各自所有者的版权。提供的文档是在自由软件基金会发布的GNU自由文档许可证版本1.3的条款下授权的。Qt和相应的标志是芬兰及其它国家/地区的The Qt Company Ltd的商标。所有其他商标均为各自所有者的财产。