Qt Designer 5.9.5 を使用して、QFontComboBox でシンプルな UI を構築しました。pyuic5 を実行するとエラーが発生します。
pyuic5 demoFontComboBox.ui -o demoFontComboBox.py
Unknown C++ class: QfontDatabase
.ui ファイルは次のとおりです。
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Dialog</class>
<widget class="QDialog" name="Dialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>500</width>
<height>240</height>
</rect>
</property>
<property name="windowTitle">
<string>Dialog</string>
</property>
<widget class="QLabel" name="label">
<property name="geometry">
<rect>
<x>30</x>
<y>50</y>
<width>81</width>
<height>17</height>
</rect>
</property>
<property name="text">
<string>Select font</string>
</property>
</widget>
<widget class="QLabel" name="label_2">
<property name="geometry">
<rect>
<x>30</x>
<y>90</y>
<width>81</width>
<height>17</height>
</rect>
</property>
<property name="text">
<string>Type text</string>
</property>
</widget>
<widget class="QFontComboBox" name="fontSelect">
<property name="geometry">
<rect>
<x>120</x>
<y>40</y>
<width>291</width>
<height>25</height>
</rect>
</property>
<property name="writingSystem">
<enum>QFontDatabase::Any</enum>
</property>
</widget>
<widget class="QTextEdit" name="textEdit">
<property name="geometry">
<rect>
<x>120</x>
<y>80</y>
<width>291</width>
<height>101</height>
</rect>
</property>
</widget>
</widget>
<resources/>
<connections/>
</ui>
部分的な .py ファイルは次のように生成されます。
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'demoFontComboBox.ui'
#
# Created by: PyQt5 UI code generator 5.9.2
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Dialog(object):
def setupUi(self, Dialog):
Dialog.setObjectName("Dialog")
Dialog.resize(500, 240)
self.label = QtWidgets.QLabel(Dialog)
self.label.setGeometry(QtCore.QRect(30, 50, 81, 17))
self.label.setObjectName("label")
self.label_2 = QtWidgets.QLabel(Dialog)
self.label_2.setGeometry(QtCore.QRect(30, 90, 81, 17))
self.label_2.setObjectName("label_2")
self.fontSelect = QtWidgets.QFontComboBox(Dialog)
self.fontSelect.setGeometry(QtCore.QRect(120, 40, 291, 25))
生成されたコードには、retranslatedUi() 関数の宣言と呼び出しが欠落しているようです。
pyuic5 は、上記の ui の例を試す前後に、QLineEdit、QButton、QRadioButton を使用して ui からファイルを正常に生成しました。