Получение значка файла исключительно из заданного MIME-типа (сам файл отсутствует) в Qt

Хорошо, я знаю о классе QFileIconProvider, Я тоже знаю о QMimeType (а также QMimeDatabase). Но я удивлен, что не могу найти простую связь между ними.

Поэтому мне нужно получить значок, используемый операционной системой для файлов определенного типа. Обычно это делается так:

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

Но что, если я хочу получить значок без ссылки на определенный файл, только для данного типа MIME? Скажем, мое приложение использует вложенные файлы и синхронизирует на нескольких устройствах; на некоторых устройствах прикрепленный файл может отсутствовать, но я знаю MIME-тип этого файла, поэтому я все же хочу, чтобы мое приложение показывало правильный значок файла, используя только информацию о MIME-типе.

В качестве временного решения я обнаружил, что если я передаю несуществующий файл в QFileInfo в приведенной выше строке кода, он получает правильный значок (очевидно, только из расширения этого несуществующего файла), по крайней мере, в Linux. Но этот метод не документирован, и нет гарантии, что он всегда будет работать.

Поэтому мне нужно что-то, что может работать как несуществующий метод QFileIconProvider().icon(QMimeType &),

0 ответов

Другие вопросы по тегам