Russian Qt Forum
Ноябрь 24, 2017, 04:56 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Загрузка шрифта в плагин дизайнера - это вообще возможно?  (Прочитано 368 раз)
Гурман
Житель матрицы
******
Offline Offline

Сообщений: 1277

Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6


Просмотр профиля
« : Ноябрь 29, 2016, 21:05 »

Надо, чтобы плагин использовал для написания текста шрифт из ресурсов приложения. Имя шрифта задаётся в пропертях плагина (поскольку может быть разным при разных сборках). Сигнал записи в проперти принимает такая функция:

Код:
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: В маршрутах и коде всё правильно - собранное приложение работает как требуется, текст отображается тем шрифтом, который подшит в ресурсе и задан в строке проперти. Но в дизайнере увидеть смену шрифта никак не получается.
« Последнее редактирование: Ноябрь 29, 2016, 22:15 от Гурман » Записан

2^7-1 == 127, задумайтесь...
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Страница сгенерирована за 0.048 секунд. Запросов: 22.