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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как проверить верное ли имя шрифта задает пользователь?  (Прочитано 2142 раз)
billy4685
Крякер
****
Offline Offline

Сообщений: 306


Просмотр профиля
« : Ноябрь 24, 2014, 09:22 »

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

void QFont::setFamily ( const QString & family )

В справке про нее пишут:

Устанавливает имя семейства для данного шрифта. Имя семейства нечувствительно к регистру и может включать имя набора. Название семейства (family) может включать имя фабрики, например, "Helvetica [Cronyx]". Если семейство family доступно более, чем из одного набора и набор не определен, то выбирается произвольный набор. Если семейство недоступно, то будет использован алгоритм поиска соответствующего шрифта.

И тут я подумал, а если вдруг пользователь случайно введет имя несуществующего шрифта, текст в таком случаи не изменит свой вид. Но хотелось как-то проверить это в коде, мол если шрифта нет в наборе, чтобы выводилось сообщение о неверном вводе шрифта. Вот только не знаю как это проверить? может можно как-то получить список существующих шрифтов? была бы функция QFont::setFamily ( const QString & family ) не void, а к примеру int или bool, проблем бы не возникло. Может кто-то знает как это проверить?
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #1 : Ноябрь 24, 2014, 10:40 »

может можно как-то получить список существующих шрифтов?

http://qt-project.org/doc/qt-4.8/qfontdatabase.html#families
Записан

billy4685
Крякер
****
Offline Offline

Сообщений: 306


Просмотр профиля
« Ответ #2 : Ноябрь 24, 2014, 10:56 »

может можно как-то получить список существующих шрифтов?

http://qt-project.org/doc/qt-4.8/qfontdatabase.html#families
спасибо уже нашел)) но пока сомнения по поводу того, как проверить есть ли введенный шрифт там, так как пользователь  может вводить с разными регистрами символов. Или в этом списке хранятся названия с разными регистрами? типа: Times New Roman, times new roman, TIMES NEW ROMAN, а может быть и вообще TimesNewRoman. Сейчас выведу себе в файл этот список и узнаю.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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