Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Система рисования. Печать _ печать на безголовой машине

Автор: a_goodgirl 23.6.2011, 14:44

Очень прошу помощи - хотя бы в каком направлении двигаться..
Печать в pdf в двух случаях - когда приложении создается с gui и когда без.
По разному font metrix возвращает высоту шрифта (ну, и соответственно boundingRect).
Вот пример:
Создается приложение в первом случае с gui, во втором без

QApplication app(argc, argv, true); 
// or
QApplication app(argc, argv, false);

Задается какой-то шрифт:
QFont font("arial", 8);
QFontMetrics fm(font);
int h = fm.height();

В первом случае высота шрифта h=14, во втором h=10!

В результате один и тот же код рисовки с одинаковыми коэффициентами пересчета разрешения (экрана 96 и принтера 1200) и пр. выдает такую картину:

Автор: PAFOS 24.6.2011, 13:09

Какая ОС?

Автор: a_goodgirl 27.6.2011, 11:53

Windows XP, но приложение многоплатформенное.
Вроде дали мне совет, что нельзя спрашивать QFontMetrix в "голого" фонта, надо взять от принтера как от PaintDevice.

Автор: PAFOS 27.6.2011, 13:30

Цитата
Вроде дали мне совет, что нельзя спрашивать QFontMetrix в "голого" фонта, надо взять от принтера как от PaintDevice.


Ну в принципе логично. В paint device есть dpx и dpy, которые зависят от устройства.

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)