QFontMetrics :: lead () возвращает 0 - PullRequest
       18

QFontMetrics :: lead () возвращает 0

2 голосов
/ 16 сентября 2009

Почему следующая функция возвращает 0? (Моя среда: Windows Vista, vc ++ 9, Qt4.5)


int func()
{
    QPushButton button("Blah blah");
    QFontMetrics fm = button.fontMetrics();
    return fm.leading();
}

Вызов "fm.height ()" возвращает разумные результаты (16 пикселей в моем случае).

Вызов "fm.lineSpacing ()" возвращает тот же результат, что и "fm.height ()".

Вызов "fm.boundingRect (QRect (), 0," первая строка \ n вторая строка \ n третья строка "). Height ();" возвращает 16 * 3, то есть снова межстрочный интервал, не включенный в результат ...

Это неправильное использование с моей стороны или что-то другое?

1 Ответ

1 голос
/ 16 сентября 2009

Согласно документам lineSpacing() всегда равно height() + leading()

height() всегда равно ascent()+descent()+1 (1 для базовой линии).

Начиная с здесь начальное - это «расстояние между строками текста по вертикали - название происходит от физического куска, который использовался в процессе механической печати для разделения строк текста»

Итак, какой шрифт вы используете, и он использует лидирующий нулевой размер?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...