![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
flankerr |
![]() ![]()
Сообщение
#1
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
Допустим есть шрифт MyFont.ttf
как его загрузить в QFont чтобы им вывесте текст на экран ?? |
|
|
ViGOur |
![]()
Сообщение
#2
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Можно воспользоваться: int QFontDatabase::addApplicationFont ( const QString & fileName ) [static]
Только нужно учесть, что: Цитата Currently only TrueType fonts and TrueType font collections are supported.
Сообщение отредактировал ViGOur - 9.1.2008, 14:06 |
|
|
flankerr |
![]()
Сообщение
#3
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
Можно воспользоваться: int QFontDatabase::addApplicationFont ( const QString & fileName ) [static] Только нужно учесть, что: Цитата Currently only TrueType fonts and TrueType font collections are supported. это есть тока в 4.2 и выше на сколько понимаю.... А что делать если у меня 4.1 и нет возможности ставить 4.2 ?? |
|
|
ViGOur |
![]()
Сообщение
#4
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Посмотри, поддерживает 4.1 QDataStream & operator>> ( QDataStream & s, QFont & font )?
Думаю это тоже, то что нужно... |
|
|
ViGOur |
![]()
Сообщение
#5
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Ну чего, как дела, получилось?
|
|
|
flankerr |
![]()
Сообщение
#6
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
ViGOur |
![]()
Сообщение
#7
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Ты не понял, это делается примерно так:
Если я все правильно понял, то именно так и должно работать, проверь...
|
|
|
flankerr |
![]()
Сообщение
#8
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
выглядит красиво но что-то у меня вылетает...
|
|
|
ViGOur |
![]()
Сообщение
#9
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Что пишет? Я просто это на коленке писал...
|
|
|
flankerr |
![]()
Сообщение
#10
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
а ща перестало вылетать....
правда всё равно не работает... QFont font; QFile *pFile = new QFile( "BOD_BLAI.TTF"); if( pFile->open( QIODevice::ReadOnly)) { QDataStream out( pFile); out >> font ; painter->setFont(font); painter->drawText(700,100,QString("qwertyuiop")); } текст выводит с тремя горизонтальными полосками сверху по центру и снизу, при этом как то изменить font не удаёться ну та размер постаивть и т.п. |
|
|
ViGOur |
![]()
Сообщение
#11
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Попробуй стандартный фонт какой-нибудь прочитать, может просто твой не правильно составлен...
|
|
|
flankerr |
![]()
Сообщение
#12
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
так я с десяток шрифтов пробывал из стандартных - результат одинаковый
|
|
|
ViGOur |
![]()
Сообщение
#13
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Мда, по всей видимости это собственное сохранение-загрузка шрифтов....
![]() Сейчас попробовал: Первый вариант работает, он как я понял тебе не подходит...p.s. на досуге посмотрю, может еще какой способ есть... ![]() Сообщение отредактировал ViGOur - 9.1.2008, 18:26 |
|
|
Tonal |
![]()
Сообщение
#14
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: ![]() ![]() ![]() |
Посмотри, поддерживает 4.1 QDataStream & operator>> ( QDataStream & s, QFont & font )? Думаю это тоже, то что нужно... Гонишь. ![]() QFont - это просто набор параметров по которым выбирается наиболее близкая реализация шрифта которой будет идти вывод символов. |
|
|
ViGOur |
![]()
Сообщение
#15
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
flankerr |
![]()
Сообщение
#16
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
пока вопрос с прямой загрузкой не решён появился другой ворпос...
Как узнать есть ли в системе нужный мне шрифт ? Просто ну хорошо задал я свойство фамэли у QFont а как я узнаю что он загрузил нужный мне шрифт а не подобраный аналог ? |
|
|
ViGOur |
![]()
Сообщение
#17
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Может быть это?
Цитата QStringList QFont::substitutes ( const QString & familyName ) [static] Просто другого вроде в Qt 4.1 нет...
Возвращает список имен семейств шрифтов, используемых для замены семейства familyName. Имя семейства не чуствительно к регистру. Если не установлена замена для семейства familyName, то возвращается пустой список. |
|
|
archimed7592 |
![]()
Сообщение
#18
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 127 Регистрация: 27.12.2007 Из: Moscow Пользователь №: 56 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Ещё, как вариант, можно скомуниздить сырки для загрузки шрифта из 4.2
![]() |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 16.7.2025, 21:30 |