Подгрузка шрифта в программу. Pyqt5
В продолжении темы: Можно ли вшить шрифт в программу PyQt5
- я создал (вставил текст в блокнот и сменил расширение файла) файл ресурсов:
<qresource prefix='/'>
<file>Gotham-Light.ttf</file>
</qresource>
</RCC>
- Далее, взял пример(код) из Вашего поста
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"
- Запустил в PyCharm'е - всё работает, КРУТО!!!
- Скомпилировал файл командой: "
pyinstaller -F -w main.py" Но при запуске из директории, где нет шрифта, соответственно шрифт и слетает
Что я сделал не так, не могли бы показать?