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 比较
| 类别 | 可比较的类型 |
|---|---|
| 相等性 | QMimeType |
属性
|
|
公开活动
| 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`。
另请参阅 QMimeDatabase 和MIME 类型浏览器。
属性文档
[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 类型,包括直接和间接父级。这包括其父级的父级,以此类推。
例如,对于 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
该属性保存了通配符匹配模式的列表
虽然该属性是在 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 类型的名称
如果某个类型的任意实例同时也是另一个类型的实例,则前者是后者的子类。例如,所有 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 版本中引入的,但相应的访问器方法一直存在。
访问函数:
| 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
如果该MIME类型为mimeTypeName ,或继承自mimeTypeName (参见parentMimeTypes()),或mimeTypeName 是该MIME类型的别名,则返回true 。
自 5.10 版本起,该方法已支持从 QML 中调用。
注意:该 函数可通过元对象系统以及从 QML 中调用。参见Q_INVOKABLE 。
[noexcept] void QMimeType::swap(QMimeType &other)
将此 MIME 类型与other 互换。此操作速度极快,且绝不会失败。
swap() 方法有助于以一种异常安全的方式实现赋值运算符。更多信息请参阅《更多 C++ 惯用法》中的“复制与交换”章节。
[noexcept] QMimeType &QMimeType::operator=(QMimeType &&other)
将other 通过move-assign操作赋值给此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`。名称是 MIME 类型的唯一标识符,因此两个名称相同的 MIME 类型被视为相等。
© 2026 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.