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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как записать информацию о шрифте?  (Прочитано 4295 раз)
Germiona
Гость
« : Апрель 04, 2008, 10:42 »

Есть такие функция QFont::toString(). Как с ее помощью можно записать информацию о шрифте? Параметры шрифта задаются пользовательские,в частности нужна ширина и высота
Записан
ритт
Гость
« Ответ #1 : Апрель 04, 2008, 11:12 »

Код:
QString QFont::toString() const
{
    const QChar comma(QLatin1Char(','));
    return family() + comma +
        QString::number(     pointSizeF()) + comma +
        QString::number(      pixelSize()) + comma +
        QString::number((int) styleHint()) + comma +
        QString::number(         weight()) + comma +
        QString::number((int)     style()) + comma +
        QString::number((int) underline()) + comma +
        QString::number((int) strikeOut()) + comma +
        QString::number((int)fixedPitch()) + comma +
        QString::number((int)   rawMode());
}

чего конкретно не хватает?
Записан
Germiona
Гость
« Ответ #2 : Апрель 04, 2008, 12:18 »

Не хватает параметра "ширины шрифта". Вообще ситуация такая: при изменении окна (QTextEdit) необходимо,чтобы шрифт текста тоже изменялся пропорционально изменению окна...
Записан
Mikhail
Программист
*****
Offline Offline

Сообщений: 587


Просмотр профиля
« Ответ #3 : Апрель 04, 2008, 14:43 »

Не хватает параметра "ширины шрифта". Вообще ситуация такая: при изменении окна (QTextEdit) необходимо,чтобы шрифт текста тоже изменялся пропорционально изменению окна...

Как не хватает?
А что же тогда:
int QFont::weight () const
Записан
Germiona
Гость
« Ответ #4 : Апрель 11, 2008, 10:21 »

Цитировать
А что же тогда:
int QFont::weight () const

Это толщина букв,а не ширина
Записан
Mikhail
Программист
*****
Offline Offline

Сообщений: 587


Просмотр профиля
« Ответ #5 : Апрель 11, 2008, 11:18 »

Цитировать
А что же тогда:
int QFont::weight () const

Это толщина букв,а не ширина

Ну тогда

QFontMetrics fm( const QFont & font ) ;
int w = fm.width ( QChar ch )  ;


Вариантов много
Записан
Germiona
Гость
« Ответ #6 : Апрель 11, 2008, 16:40 »

Цитировать
Ну тогда

QFontMetrics fm( const QFont & font ) ;
int w = fm.width ( QChar ch )  ;


Подобным образом я получу всего лишь информацию о ширине символа,а мне необходимо ее задать...

Более того, чтобы получить информацию придется установить этот шрифт в виджете:
Код:
w->setFont(font);
что мне совсем не нужно....

Может быть можно как-то узнать о метриках шрифта,не устанавливая этот шрифт в виджете?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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