Надо, чтобы плагин использовал для написания текста шрифт из ресурсов приложения. Имя шрифта задаётся в пропертях плагина (поскольку может быть разным при разных сборках). Сигнал записи в проперти принимает такая функция:
void TLwidget::setFontFileName(const QString &name)
{
if( name.length() && (name.endsWith( ".otf", Qt::CaseSensitivity::CaseInsensitive ) ||
name.endsWith( ".ttf", Qt::CaseSensitivity::CaseInsensitive )) )
{
int fid = QFontDatabase::addApplicationFont( ":/resources/"+(fontName = name) );
//QMessageBox::warning(0, "", ":/resources/"+fontName+" "+QString::number(fid)); //debug
if( fid >= 0 )
{
label.setFont( QFont( QFontDatabase::applicationFontFamilies(fid)[0] ) );
fontinstalled = true;
}
}
}
И глухо при загрузке этого плагина в дизайнер месседж выдаёт fid == -1, то есть шрифт в дизайнере не грузится. Маршрут шрифта в ресурсах правильный. Проверялось на .otf шрифте, который нормальный, рабочий.
Аналогично в соседнем плагине задаётся имя картинки из ресурсов - и эта картинка успешно загружается плагином из ресурса прямо в дизайнере, и отображается на виджете. Именно в дизайнере. А загрузка шрифта почему-то не работает. Причём и работающая картинка, и не работающий шрифт заданы в одном файле ресурсов, маршруты у них одинаковые (поэтому есть уверенность, что ошибки в маршрутах нет).
Не помню, чтобы это было отражено где-либо в документации. Кто-нибудь что-нибудь встречал на эту тему?
PS: В маршрутах и коде всё правильно - собранное приложение работает как требуется, текст отображается тем шрифтом, который подшит в ресурсе и задан в строке проперти. Но в дизайнере увидеть смену шрифта никак не получается.