Подгрузка шрифта в программу. Pyqt5

В продолжении темы: Можно ли вшить шрифт в программу PyQt5

  1. я создал (вставил текст в блокнот и сменил расширение файла) файл ресурсов:
<qresource prefix='/'>
  <file>Gotham-Light.ttf</file>
</qresource>
</RCC>
  1. Далее, взял пример(код) из Вашего поста
from PyQt5.QtWidgets import QMainWindow, QApplication, QToolButton, QMessageBox
from PyQt5.QtGui     import QFontDatabase, QFont
from PyQt5.QtCore    import Qt

import resources                                                        # +++ !!!

class MyWindow(QMainWindow):
    def __init__(self):
        super().__init__()

        fontId = QFontDatabase.addApplicationFont("Gotham-Light.ttf")
        QMessageBox.information(None, "Message", f"fontId -> {fontId}")

        if fontId == 0:
            fontName = QFontDatabase.applicationFontFamilies(fontId)[0]
            self.font = QFont(fontName, 30)
        else:
            self.font = QFont()

        btn = QToolButton(self)
        btn.setToolButtonStyle(Qt.ToolButtonIconOnly)
        btn.setFont(self.font)                                                    # !
        btn.setText('sadsdfывуацу')
        self.setCentralWidget(btn)
        btn.clicked.connect(self.close)

if __name__ == "__main__":
    app = QApplication(sys.argv)
    mainWnd = MyWindow()
    mainWnd.show()
    sys.exit(app.exec_())

Т.к. файл со шрифтом располагается в той же папке, что и файл main.py, я указал путь "Gotham-Light.ttf"

  1. Запустил в PyCharm'е - всё работает, КРУТО!!!
  2. Скомпилировал файл командой: "pyinstaller -F -w main.py" Но при запуске из директории, где нет шрифта, соответственно шрифт и слетает

Что я сделал не так, не могли бы показать?


Ответы (0 шт):