根据 QFont
对象的字体系列,您可以获取所需的字体文件。
为了实现这一点,您可以使用 matplotlib
库,通过 pip 进行安装:
pip install matplotlib
然后您可以使用库中的font_manager
模块,并访问其find_font
函数,该函数将字体系列
作为字符串输入,如下所示:
Python:
from PyQt6 import QtGui
QtGui.QFont().family()
C++(等价)
QFont::family()
接下来,您将从QFont
对象中获取字体系列,并将其放入font_manager.find_font()
方法中:
from matplotlib import font_manager
x = QtGui.QFont().family()
font_manager.find_font(x)
总的来说,代码看起来像这样:
from PyQt6 import QtGui
from matplotlib import font_manager
QtGui.QFont().family()
x = QtGui.QFont().family()
font_manager.find_font(x)
这是PyQt6中一个真实的例子:
from PyQt6 import QtGui, QtWidgets, QtCore
import os
from matplotlib import font_manager
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(800, 600)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.fontComboBox = QtWidgets.QFontComboBox(self.centralwidget)
self.fontComboBox.setGeometry(QtCore.QRect(210, 220, 338, 32))
self.fontComboBox.setObjectName("fontComboBox")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 30))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
def your():
print(font_manager.findfont(ui.fontComboBox.currentFont().family()))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
your()
sys.exit(app.exec())
我知道你可能不会使用python
,因为你正在使用C++
,但是你可以研究如何在python
中使用open()
函数来编写一个包含文件路径的文本文件(或者制作一个jason文件,由你决定)。
希望这能在某种程度上帮助到你,如果有任何问题,请随时问我。即使它似乎很基础,也不要让它让你灰心丧气。无论别人怎么说!