仅在Qt

时间:2018-08-18 17:59:04

标签: qt qt5 mime-types qfileinfo

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

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

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

但是,如果我想仅针对给定的MIME类型而获得不引用特定文件的图标怎么办?说,我的应用程序使用附件文件并在多个设备之间同步;在某些设备上,可能没有附件的文件,但是我知道该文件的MIME类型,因此我仍然希望我的应用仅使用MIME类型信息来显示正确的文件图标。

作为一个临时解决方案,我发现,如果我在上面的代码字符串中将不存在的文件传递给QFileInfo,它将至少检索到一个正确的图标(显然,纯粹是从该不存在的文件的扩展名开始)在Linux中。但是此方法尚未记录,因此无法保证它始终有效。

因此,我需要一些可以作为不存在的方法QFileIconProvider().icon(QMimeType &)使用的东西。

0 个答案:

没有答案