Отображение QIcon, хранящихся в ресурсах библиотеки dll / so
Проект Qt 5/6 содержит несколько подключаемых библиотек, которые реализуют некоторый интерфейс. Для оформления используются иконки формата svg. Используются в проекте так:
QIcon(":img/datepicker.svg")
в коде библиотеки используются так:
QIcon(":plgcomponents/img/datepicker.svg")
где в первом случае img - это префикс для иконок ресурсов проекта (exe файла), а во втором - plgcomponents/img - префикс, используемый в ресурсном файле dll. При сборке в Windows все отображается нормально, но в случае сборки в Linux - иконки не отображаются.
Windows
Linux
Такое впечатление, что иконки видны только те, которые находятся только в ресурсном файле самого приложения.
Вопрос: Есть ли какие-нибудь идеи как исправить ситуацию, кроме переноса иконок в ресурсы приложения?
Ответы (1 шт):
Хм. Решение проблемы оказалось простым. Файл ресурсов res.qrc лежал в подпапке относительно исходного кода. Т.е. код в папке src, а файл ресурсов src/resource/res.qrc. Стоило его перенести на уровень выше - проблема разрешилась сама собой.
Чертов Хогвартс! ))))