QMimeType Class

QMimeType 类用 MIME 类型字符串描述文件或数据类型。更多

头文件: #include <QMimeType>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

该类可等价比较

属性

公共职能

QMimeType()
QMimeType(const QMimeType &other)
~QMimeType()
QStringList aliases() const
QStringList allAncestors() const
QString comment() const
QString filterString() const
QString genericIconName() const
QStringList globPatterns() const
QString iconName() const
bool inherits(const QString &mimeTypeName) const
bool isDefault() const
bool isValid() const
QString name() const
QStringList parentMimeTypes() const
QString preferredSuffix() const
QStringList suffixes() const
void swap(QMimeType &other)
QMimeType &operator=(QMimeType &&other)
QMimeType &operator=(const QMimeType &other)
size_t qHash(const QMimeType &key, size_t seed = 0)
bool operator!=(const QMimeType &lhs, const QMimeType &rhs)
bool operator==(const QMimeType &lhs, const QMimeType &rhs)

详细说明

例如,名为 "readme.txt "的文件的 MIME 类型为 "text/plain"。MIME 类型可以从文件名、文件内容或两者中确定。MIME 类型的确定也可以在非文件数据的缓冲区中进行。

确定文件的 MIME 类型有助于确保应用程序支持该类型。在类似文件管理器的应用程序或小工具中也很有用,这样可以为文件显示适当的icon ,甚至在详细视图中显示描述性的comment

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

另请参阅 QMimeDatabaseMIME 类型浏览器

属性文档

[read-only] aliases : const QStringList

此属性包含此 mIME 类型的别名列表

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

请注意,所有QMimeType 实例都是指适当的 MIME 类型,而不是直接指别名。

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

虽然该属性是在 5.10 中引入的,但相应的访问方法一直存在。

访问函数:

QStringList aliases() const

[read-only] allAncestors : const QStringList

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

返回该 MIME 类型的所有直接和间接父 MIME 类型。其中包括父 MIME 类型的父 MIME 类型等。

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

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

虽然该属性是在 5.10 中引入的,但相应的访问方法一直存在。

访问函数:

QStringList allAncestors() const

[read-only] comment : const QString

该属性包含将在用户界面上显示的 MIME 类型的说明

返回根据用户当前语言设置本地化的 MIME 类型描述。

虽然该属性是在 5.10 中引入的,但相应的访问方法一直存在。

访问函数:

QString comment() const

[read-only] filterString : const QString

该属性包含一个可用于文件对话框的过滤字符串

虽然该属性是在 5.10 中引入的,但相应的访问方法一直存在。

访问函数:

QString filterString() const

[read-only] genericIconName : const QString

该属性包含表示 MIME 类型的通用图标的文件名。

如果在系统中找不到iconName() 返回的图标,则应使用该图标。它用于类似类型的类别(如电子表格或档案),这些类别可以使用一个通用图标。freedesktop.org 图标命名规范列出了一组此类图标名称。

图标名称可提供给QIcon::fromTheme() 以加载图标。

虽然该属性是在 5.10 中引入的,但相应的访问方法一直存在。

访问函数:

QString genericIconName() const

[read-only] globPatterns : const QStringList

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

虽然该属性是在 5.10 中引入的,但相应的访问方法一直存在。

访问函数:

QStringList globPatterns() const

[read-only] iconName : const QString

该属性包含代表 MIME 类型的图标图像的文件名。

图标名称可提供给QIcon::fromTheme() 以加载图标。

虽然该属性是在 5.10 中引入的,但相应的访问方法一直存在。

访问函数:

QString iconName() const

[read-only] isDefault : const bool

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

虽然该属性是在 5.10 中引入的,但相应的访问方法一直存在。

访问函数:

bool isDefault() const

[read-only] name : const QString

该属性包含 MIME 类型的名称。

该属性在 5.10 中引入,但相应的访问方法一直存在。

访问函数:

QString name() const

[read-only] parentMimeTypes : const QStringList

该属性包含父 MIME 类型的名称

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

一个 mimetype 可以有多个父级。例如,application/x-perl 有两个父类型:application/x-executable 和 text/plain。这样既可以执行 perl 脚本,也可以在文本编辑器中打开它们。

虽然该属性是在 5.10 中引入的,但相应的访问方法一直存在。

访问函数:

QStringList parentMimeTypes() const

[read-only] preferredSuffix : const QString

该属性包含 MIME 类型的首选后缀

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

虽然该属性是在 5.10 中引入的,但相应的访问方法一直存在。

访问函数:

QString preferredSuffix() const

[read-only] suffixes : const QStringList

该属性包含 MIME 类型的已知后缀

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

虽然该属性是在 5.10 中引入的,但相应的访问方法一直存在。

访问函数:

QStringList suffixes() const

[read-only] valid : const bool

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

有效的 MIME 类型有一个非空的name() 。无效的 MIME 类型是默认构造的QMimeType

虽然该属性是在 5.10 中引入的,但相应的访问方法一直存在。

访问函数:

bool isValid() const

成员函数文档

QMimeType::QMimeType()

使用默认属性值初始化此 QMimeType 对象,默认属性值表示无效 MIME 类型。

QMimeType::QMimeType(const QMimeType &other)

构造此 QMimeType 对象,作为other 的副本。

[noexcept] QMimeType::~QMimeType()

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

[invokable] bool QMimeType::inherits(const QString &mimeTypeName) const

如果此 mimetype 是mimeTypeName ,或继承于mimeTypeName (见parentMimeTypes()),或mimeTypeName 是此 mimetype 的别名,则返回true

自 5.10 版起,可从 QML 调用此方法。

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

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

将此 MIME 类型与other 互换。该操作速度非常快,而且从不出错。

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

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

Move-assignsother 到此QMimeType 实例。

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

other 的数据赋值给QMimeType 对象,并返回该对象的引用。

相关非成员

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

返回key 的哈希值,使用seed 作为计算的种子。

[noexcept] bool operator!=(const QMimeType &lhs, const QMimeType &rhs)

如果QMimeType lhs 不等于QMimeType rhs ,则返回true ,否则返回false

[noexcept] bool operator==(const QMimeType &lhs, const QMimeType &rhs)

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

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.