0

好的,我知道类QFileIconProvider。我也知道QMimeType(和QMimeDatabase)。但令我惊讶的是,我找不到两者之间的简单联系。

所以我需要的是获取操作系统用于给定类型文件的图标。通常,这样做是这样的:

QIcon icon = QFileIconProvider().icon(QFileInfo("/path/to/some.file"));

但是,如果我想获得一个不参考特定文件的图标,只针对给定的 MIME 类型怎么办?比如说,我的应用程序使用附件并跨多个设备同步;在某些设备上,附件可能不存在,但我知道该文件的 MIME 类型,所以我仍然希望我的应用程序显示正确的文件图标,仅使用 MIME 类型信息。

作为一个临时解决方案,我发现如果我在上面的代码字符串中将一个不存在的文件传递给 QFileInfo,它确实会检索一个正确的图标(显然,纯粹来自该不存在文件的扩展名),至少在 Linux 中是这样。但是这种方法没有记录,也不能保证它总是有效的。

所以我需要一些可以作为不存在的方法工作的东西 QFileIconProvider().icon(QMimeType &)

4

0 回答 0