简述
在Qt之QFileIconProvider一节中已经讲解关于如何获取文件图标与类型。但只仍针对本地已存在的文件,此节,我们主要运用前面分享的内容,讲述如何通过任意后缀或本地不存在的文件来获取相关的图标与类型。
步骤
因为Qt本身并没有提供对于不存在文件获取图标、类型的接口,所以我们只能另寻出路。
步骤:
通过扩展名(如:txt、exe、pptx)构建临时文件QTemporaryFile。
通过QFileIconProvider获取对应的图标、类型 。
删除临时文件。
示例
效果
源码
获取图标、类型
QIcon fileIcon(const QString &extension) const
{
QFileIconProvider provider;
QIcon icon;
QString strTemplateName = QDir::tempPath() + QDir::separator() +
QCoreApplication::applicationName() + "_XXXXXX." + extension;
QTemporaryFile tmpFile(strTemplateName);
tmpFile.setAutoRemove(false);
if