Russian Qt Forum
Ноябрь 24, 2024, 21:53
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
(РЕШЕНО) Странности со шрифтами и темой GUI в "английском" Linux
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: (РЕШЕНО) Странности со шрифтами и темой GUI в "английском" Linux (Прочитано 5685 раз)
Гурман
Гуру общения
Offline
Сообщений: 1442
Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12
(РЕШЕНО) Странности со шрифтами и темой GUI в "английском" Linux
«
:
Ноябрь 11, 2015, 15:10 »
Отлаживаю приложение в Linux-64, который изначально установлен, как "русский", и в Linux-32, который изначально установлен, как "английский". То есть, в первом случае системные сообщения и элементы управления появляются по-русски, во втором по-английски. Обе версии Linux одинаковые - Kubuntu 14.04. В "русском" Linux всё хорошо, в приложении используются заданные в настройках ОС шрифты, все буквы как надо. В "английском" какая-то странность с использованием шрифтов, но только в отлаживаемом приложении. В нём (и только в нём - в остальных нормально) используются не системные шрифты, а не понятно какие - в интерфейсе приложения английские тексты написаны шрифтом с серифами (хотя в системных настройках заданы шрифты без серифов), а изображения русских букв отсутствуют. То есть, русские тексты просто пустые, хотя они присутствуют с правильной кодировкой (это видно по некоторым особенностям поведения приложения). Кроме этого, почему-то у приложения в Linux-32 интерфейс не использует системный скин, хотя в Linux-64 приложение одето в системный скин как положено. То есть, кнопки и другие элементы управления приложения в Linux-32 "дефолтные", без скинов, хотя в системных настройках установлен стиль Plastique с одетыми кнопками. Даже не вполне понятно куда копать - в Windows и Linux-64 всё хорошо по-умолчанию, а тут чудеса какие-то. Пишу в ветку про GUI, поскольку проблема явно в использовании системных ресурсов - почему-то приложение их не использует, а что использует, не понятно.
PS: на всякий случай добавил в Linux-32 русскую локаль - не повлияло. Я и не ожидал, но мало ли.
PPS: смена темы приложений починила вид приложения - кнопки и прочее стали одеты в скины. Но как-то криво - там у меня иконки с альфа-каналом, так они в дизайнере на кнопках нормально видны, а в собранном приложении с фоном на месте прозрачности. На некоторых кнопках почему-то с черным.
PPPS: нашел в сети похожие проблемы - кто-то вылечил пересборкой Qt. Но я отключал только сборку примеров, демо и поддержку Qt3.
PPPPS: установил qt4-qtconfig, изменил там настройки - не помогло.
«
Последнее редактирование: Ноябрь 12, 2015, 18:31 от Гурман
»
Записан
2^7-1 == 127, задумайтесь...
Гурман
Гуру общения
Offline
Сообщений: 1442
Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12
Re: Странности со шрифтами и темой GUI в "английском" Linux
«
Ответ #1 :
Ноябрь 11, 2015, 21:57 »
Источник проблемы найден, но как исправить пока не ясно - при установке в "английский" Linux Qt решил, что русские буквы будут не нужны (ну и дурак...), и для пользователя который его собирал из исходников, установил для приложений по-умолчанию шрифт без русских букв Bitstream Charter. По идее, это должно исправляться с помощью утилиты <каталог_Qt>/qtconfig, в ней есть пара шрифтов с русскими буквами. Но при их выборе и сохранении настройки всё равно остается Bitstream Charter. То есть, снова qtconfig запускаешь - там опять Bitstream. Я руками вбил название шрифта с русскими буквами в ~/.config/Trolltech.conf вместо этого гребанного Bitstream (оно встречается один раз) - не помогло. Еще где-то содержится имя используемого шрифта?
Нихрена не понятно - как нормально заставить Qt использовать для приложений системные шрифты? Ну разве только кроме переустановки - по идее должно встать нормально, поскольку в системе теперь есть русская локаль. Но это же должно настройками делаться, а не переустановкой - почему qtconfig не работает?
Запускал sudo qtconfig - в списке появляются системные шрифты, но любой выбранный тоже не сохраняется.
Записан
2^7-1 == 127, задумайтесь...
qate
Супер
Offline
Сообщений: 1177
Re: Странности со шрифтами и темой GUI в "английском" Linux
«
Ответ #2 :
Ноябрь 12, 2015, 11:51 »
что такое "английский" linux ?
что такое установка qt ? копирование ?
Записан
GreatSnake
Джедай : наставник для всех
Offline
Сообщений: 2921
Re: Странности со шрифтами и темой GUI в "английском" Linux
«
Ответ #3 :
Ноябрь 12, 2015, 12:28 »
Задай через QApplication::setFont().
Записан
Qt 5.11/4.8.7 (X11/Win)
Гурман
Гуру общения
Offline
Сообщений: 1442
Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12
Re: Странности со шрифтами и темой GUI в "английском" Linux
«
Ответ #4 :
Ноябрь 12, 2015, 14:09 »
Цитата: qate от Ноябрь 12, 2015, 11:51
что такое "английский" linux ?
у которого при установке выбран английский язык
Цитата: qate от Ноябрь 12, 2015, 11:51
что такое установка qt ? копирование ?
нет, конечно - это сборка из исходников
Записан
2^7-1 == 127, задумайтесь...
Гурман
Гуру общения
Offline
Сообщений: 1442
Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12
Re: Странности со шрифтами и темой GUI в "английском" Linux
«
Ответ #5 :
Ноябрь 12, 2015, 14:10 »
Цитата: GreatSnake от Ноябрь 12, 2015, 12:28
Задай через QApplication::setFont().
я думаю об этом, но тогда надо фонты в ресурсы включать, не ясно как это сделать мультиплатформенно
Записан
2^7-1 == 127, задумайтесь...
qate
Супер
Offline
Сообщений: 1177
Re: Странности со шрифтами и темой GUI в "английском" Linux
«
Ответ #6 :
Ноябрь 12, 2015, 16:32 »
Цитата: Гурман от Ноябрь 12, 2015, 14:09
Цитата: qate от Ноябрь 12, 2015, 11:51
что такое "английский" linux ?
у которого при установке выбран английский язык
а зачем так делать, если предполагается работа с русскими шрифтами ?
чтобы был Plastique - его надо собрать отдельно, из
https://gitorious.org/qt/qtstyleplugins
Записан
Гурман
Гуру общения
Offline
Сообщений: 1442
Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12
Re: Странности со шрифтами и темой GUI в "английском" Linux
«
Ответ #7 :
Ноябрь 12, 2015, 18:31 »
Цитата: qate от Ноябрь 12, 2015, 16:32
Цитата: Гурман от Ноябрь 12, 2015, 14:09
Цитата: qate от Ноябрь 12, 2015, 11:51
что такое "английский" linux ?
у которого при установке выбран английский язык
а зачем так делать, если предполагается работа с русскими шрифтами ?
Вообще-то язык интерфейса и наличие шрифтов никак друг с другом не должны быть связаны. То есть, шрифты должны быть все при любом языке интерфейса, иначе - проблемы.
Я так сделал, поскольку у меня в личной практике были неоднократные случаи использования русскоязычного ПО на англоязычных ОС. Чтобы проработать и такой вариант, если вдруг встретится.
Проблема решена! После установки libfontconfig1-dev, libfreetytpe6-dev, libxrender-dev и пересборки Qt с добавлением ключей -fontconfig и -xrender приложение заработало полностью нормально. В интерфейсе используются выбранные в настройках ОС шрифты с русскими буквами, и все кнопки стали нормально рисоваться с правильными иконками на них и правильными скинами.
То есть, русскую локаль можно было бы и не ставить - в ОС по умолчанию не было libfontconfig1-dev и libfreetytpe6-dev. Не совсем понятно, почему Qt их не потребовал, поскольку вроде бы ключ -fontconfig используется по-умолчанию. А проблемы с иконками на кнопках починились из-за использования libxrender-dev. Тоже по идее по-умолчанию должно бы ставиться при установке собранного Qt, равно как и ключ -xrender должен быть умолчательным.
/* начиная чесать в затылке - а ведь надо будет потом делать .deb и .rpm с бинарником, и чтобы они правильно везде ставились... оххх.... */
ЗЫ: по-хорошему эту тему надо перенести в "Установку и настройку", так как проблема не в приложении, а в настройках ОС и используемого Qt.
«
Последнее редактирование: Ноябрь 12, 2015, 18:41 от Гурман
»
Записан
2^7-1 == 127, задумайтесь...
qate
Супер
Offline
Сообщений: 1177
Re: (РЕШЕНО) Странности со шрифтами и темой GUI в "английском" Linux
«
Ответ #8 :
Ноябрь 13, 2015, 09:27 »
в конце своей работы скрипт configure пишет что он будет, а что не будет собирать
т.е. он не нашел те dev пакеты и не стал собирать что просили
а если смысла собирать самому qt нет, то можно и из репов поставить qt
Записан
Гурман
Гуру общения
Offline
Сообщений: 1442
Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12
Re: (РЕШЕНО) Странности со шрифтами и темой GUI в "английском" Linux
«
Ответ #9 :
Ноябрь 13, 2015, 12:33 »
Цитата: qate от Ноябрь 13, 2015, 09:27
а если смысла собирать самому qt нет, то можно и из репов поставить qt
мне 4.7.0 нужен
странно еще другое - в той же версии Kubuntu 14.04 но x64 всё есть , приложение без фокусов выглядит как следует, правда она работает на реальной машине, а x86 в виртуальной
Записан
2^7-1 == 127, задумайтесь...
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...