Есть некоторый шрифт, полученный от какого-то виджета:
QFont font1 = myWidget1.getFont();
Как из этого шрифта получить значения размеров букв (или их высоты и ширины, если это возможно), имя шрифта, признак того, является ли шрифт жирным (bold) или нет, признак того, является шрифт наклонным (italic) или нет?
Как, наоборот, при работе с другим шрифтом
QFont font2;
задать ему значения размеров букв (или их высоты и ширины, если возможно), имя шрифта, признак того, является ли шрифт жирным или нет, признак того, является ли шрифт наклонным или нет?
Здравствуйте, RussianFellow, Вы писали:
RF>задать ему значения размеров букв (или их высоты и ширины, если возможно), имя шрифта, признак того, является ли шрифт жирным или нет, признак того, является ли шрифт наклонным или нет?
Фонт векторный и не имеет размеров. А вот при его отображении в своём методе paint у QPainter можно запросить текущие параметры и изменить.
Банально размер поменять через
QFont f = p->font();
f.setPointSize(m_sSettings.m_nFontSize);
p->setFont(f);
а так же у QPainter'а есть функция fontMetrics(), откуда можно узнать размер любой буквы или целой строки в пикселях.
Здравствуйте, RussianFellow, Вы писали:
RF>Как, наоборот, при работе с другим шрифтом RF>задать ему значения размеров букв (или их высоты и ширины, если возможно), имя шрифта, признак того, является ли шрифт жирным или нет, признак того, является ли шрифт наклонным или нет?
А с какой целью интересуетесь?
Тут вот в чем дело: разные буквы (во многих шрифтах) имеют разную ширину, причем в разных шрифтах зависимость буква->ширина разная.
Т.е. если хотите при написании текста другим шрифтом попадать в те же места что и исходный текст первым шрифтом, то задача разрешима, только если оба шрифта заранее взаимно подобраны (например, оба "моноширинные").
Здравствуйте, Chorkov, Вы писали:
C>Здравствуйте, RussianFellow, Вы писали:
RF>>Как, наоборот, при работе с другим шрифтом RF>>задать ему значения размеров букв (или их высоты и ширины, если возможно), имя шрифта, признак того, является ли шрифт жирным или нет, признак того, является ли шрифт наклонным или нет?
C>А с какой целью интересуетесь? C>Тут вот в чем дело: разные буквы (во многих шрифтах) имеют разную ширину, причем в разных шрифтах зависимость буква->ширина разная. C>Т.е. если хотите при написании текста другим шрифтом попадать в те же места что и исходный текст первым шрифтом, то задача разрешима, только если оба шрифта заранее взаимно подобраны (например, оба "моноширинные").
Здравствуйте, RussianFellow, Вы писали:
RF>Хочу задать в программе свой размер шрифта.
Плохая идея. Можно сделать через QSS. Но лучше отдать всё на откуп платформе. Вдруг у пользователя нестандартные настройки масштабирования и системных шрифтов?
Если же есть места где это надо явно, то можно рисовать ручками на QPixmap и выводить уже текст как картинку.
Здравствуйте, SaZ, Вы писали:
RF>>Хочу задать в программе свой размер шрифта. SaZ>Плохая идея. Можно сделать через QSS. Но лучше отдать всё на откуп платформе. Вдруг у пользователя нестандартные настройки масштабирования и системных шрифтов?
В хорошо сделанных программах всё можно настроить не трогая системных настроек.