Qt Printing - класс QFontMetrics

Я новичок в Qt и изучаю QPrinter / QPainter

Согласно документации, чтобы печатать в мм, координаты должны быть переведены в блок принтера, учитывая его разрешение. Итак, я написал следующий код:

qreal printInterface::convertFromMM(qreal in)
{
    //1 inch = 25.4 mmm so
    return in * (1/25.4) * mQPrinter->resolution();
}

Это нормально работает для печати строк и так далее.

Теперь я должен измерить текст, поэтому в соответствии с документацией я использовал класс QFontMetrics().

Проблема в том, что Painter->fontMetrics().width(stringToMeasure) возвращает ширину, согласно документации, в пикселях. Как я могу перевести это в мм?

Любая помощь будет оценена!

1 ответ

Просто обнаружил, что я совершил ошибку. Я могу использовать то же правило для FontMetrics. Документация, однако, вводит в заблуждение, поскольку в ней говорится, что в качестве единицы используются пиксели. Это приспособлено для художника.

Я тестировал, используя две строки и печатая текст внутри них. Измеряет нормально как при предварительном просмотре, так и на устройстве.

Спасибо за ваше время!

Другие вопросы по тегам