Название: (РЕШЕНО)Разные размеры шрифтов в Windows и Linux. Отправлено: Гурман от Октября 28, 2015, 16:45 Осталась проблема, которую не знаю пока как решать, не принципиальная но противная потому что на виду. Мне нужно на QGraphicsScene подстраивать некоторые объекты под размеры текста в них, для чего выполняю:
Код: QFont f = QApplication::font(); И дальше использую textwidth и textheight для управления размерами объектов. Вписал задание размера шрифта в пикселах, поскольку посчитал, что тогда в Windows и Linux размеры текста будут визуально одинаковые. Нифига. Объекты, которые зависят от textwidth в обеих ОС имеют одинаковую ширну (можно линейкой померять), но сам текст - почему-то нет. Получается, что в Linux изображаемый текст не соответствует вычисляемым размерам - он заметно крупнее. То есть, в Linux текст вылазит куда не следует. И в Linux шрифт не только шире - он и выше. Ну ладно были бы разные системные установки шрифтов, но я ведь жестко вписал размер, чтобы от него не зависеть. Причем в пикселах, чтобы соблюсти пропорции с объектами, размеры которых тоже в пикселах вычисляются. Кто с этим сталкивался? Как решали? Название: Re: Разные размеры шрифтов в Windows и Linux. Отправлено: GreatSnake от Октября 28, 2015, 16:59 Попробуй QFontMetrics::tightBoundingRect().
Название: Re: Разные размеры шрифтов в Windows и Linux. Отправлено: Гурман от Октября 28, 2015, 17:12 Попробуй QFontMetrics::tightBoundingRect(). Эээ... я так понимаю, это несколько не то. Это очевидно подгонит объекты, и они станут разными в разных ОС. Для чего достаточно Код: QFontMetrics fm( QApplication::font() ); И всё, размеры объектов будут под текст, но мне не это нужно. Нужно, чтобы текст имел одинаковые размеры, соответственно, объекты в обеих ОС были одинаковыми. ЗЫ: не, нифига... с tightBoundingRect() при задании размеров шрифта всё тоже самое, что и с boundingRect(), идентично Название: Re: Разные размеры шрифтов в Windows и Linux. Отправлено: Гурман от Октября 28, 2015, 19:21 Тфу... нашел у себя ошибку.
Название: Re: (РЕШЕНО)Разные размеры шрифтов в Windows и Linux. Отправлено: AlekseyK от Октября 31, 2015, 05:07 Так в чём ошибка? Поделись окончательным вариантом, пожалуйста.
Название: Re: (РЕШЕНО)Разные размеры шрифтов в Windows и Linux. Отправлено: Гурман от Октября 31, 2015, 20:50 Так в чём ошибка? Поделись окончательным вариантом, пожалуйста. Ошибка была в другом месте - из-за очепятки в имени метода сигнал от invokeMethod() не приходил, и размеры объекта не пересчитывались по вычисленным размерам текста. А так всё в первом посте сделано правильно. |