Ширина строки и высота шрифта
QFontMetrics помогает оценить, сколько места займёт текст с конкретным шрифтом. Например, можно определить ширину подписи до рисования или проверить, помещается ли строка в доступную область.
const QFontMetrics metrics(widget->font());
const int textWidth = metrics.horizontalAdvance(label);
const int lineHeight = metrics.height();
if (textWidth > availableWidth) {
// выбрать перенос, сокращение или подсказку
}Для нескольких строк измеряйте прямоугольник с нужными флагами через boundingRect(); ширина одной строки не учитывает переносы. В пользовательских интерфейсах не задавайте фиксированные размеры по одному шрифту: масштабирование, подмена шрифтов и локализация меняют метрики.
Метрики должны совпадать с отрисовкой
Создавайте метрики из того же шрифта, которым рисуете текст. Если точности целых пикселей недостаточно, используйте QFontMetricsF. Для виджета учитывайте доступную область после вычета отступов и рамок, а не только его внешний размер. Это особенно важно для кнопок, таблиц и пользовательских делегатов.