Шаг 186.
Библиотека PyQt5.
Работа с графикой. Вспомогательные классы. Класс QFont: шрифт (окончание)

    На этом шаге мы рассмотрим вопросы, связанные с получением информации о шрифтах и их стилях.

    Получить список всех доступных шрифтов позволяет метод families() класса QFontDatabase. Метод возвращает список строк. Пример:

  print(QtGui.QFontDatabase().families())

    Чтобы получить список доступных стилей для указанного шрифта, следует воспользоваться методом styles(<Название шрифта>) класса QFontDatabase:

print(QtGui.QFontDatabase().styles("Tahoma"))
['Normal', 'Italic', 'Bold', 'Bold Italic']

    Получить допустимые размеры для указанного стиля можно с помощью метода smoothSizes(<Название шрифта>, <Стиль>) класса QFontDatabase:

print(QtGui.QFontDatabase().smoothSizes("Tahoma", "Normal"))
[6, 7, 8, 9, 10, 11, 12, 14, 16, 18, 20, 22, 24, 26, 28, 36, 48, 72]

    Очень часто необходимо произвести выравнивание выводимого текста внутри некоторой области. Чтобы это сделать, нужно знать размеры области, в которую вписан текст. Получить эти значения позволяют следующие методы класса QFontMetrics:

    Пример получения размеров области:

  font = QtGui.QFont("Tahoma", 16)
  fm = QtGui.QFontMetrics(font)
  print(fm.width("Строка"))  # 67
  print(fm.height())	# 25
  print(fm.boundingRect("Строка")) # PyQt5.QtCore.QRect(0, -21, 65, 25)

    Обратите внимание, что значения, возвращаемые методами width() и QRect.width(), различаются.


   Примечание. Класс QFontMetrics предназначен для работы с целыми числами. Чтобы работать с вещественными числами, необходимо использовать класс QFontMetricsF.

    На следующем шаге мы рассмотрим класс QPainter.




Предыдущий шаг Содержание Следующий шаг