Python | PyQt5, PyQt6 フォント設定方法

GUI App

Python PyQt5, PyQt6でフォントを設定する方法を説明する。

結論

フォントを指定したいオブジェクト.setStyleSheet(フォントを指定するCSS)で設定する。

具体例

  1. フォントを変数で持っておく。
  2. .setStyleSheet(フォントを指定するCSS)でフォントを設定する。
#!/usr/bin/env python3

from PyQt6.QtWidgets import QApplication, QWidget, QLabel
import sys


class GuiWindow(QWidget):

    def __init__(self, parent=None):
        super().__init__(parent)
        self.build_ui()
        self.show()

    def build_ui(self):
        self.ラベル0 = QLabel('私はヨシヒコだ(font : 指定無し)', self)
        self.ラベル1 = QLabel('私はヨシヒコだ(font : 游明朝)', self)
        self.ラベル2 = QLabel('私はヨシヒコだ(font : Yu Gothic UI)', self)
        self.ラベル3 = QLabel('私はヨシヒコだ(font : メイリオ)', self)
        self.ラベル0.setGeometry(50, 10, 300, 70)
        self.ラベル1.setGeometry(50, 40, 300, 70)
        self.ラベル2.setGeometry(50, 70, 300, 70)
        self.ラベル3.setGeometry(50,100, 300, 70)

        self.font1 = '游明朝'                                           # 1
        self.font2 = 'Yu Gothic UI'                                    # 1
        self.font3 = 'メイリオ'                                         # 1
        self.ラベル1.setStyleSheet('QLabel{'                             # 2
                                'font-family: "' + self.font1 + '";'    # 2
                                '}')                                    # 2
        self.ラベル2.setStyleSheet('QLabel{'                             # 2
                                'font-family: "' + self.font2 + '";'    # 2
                                '}')                                    # 2
        self.ラベル3.setStyleSheet('QLabel{'                             # 2
                                'font-family: "' + self.font3 + '";'    # 2
                                '}')                                    # 2


if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = GuiWindow()
    sys.exit(app.exec())

まとめ

Python PyQtでフォントを設定する方法を説明した。

コメント