首先,我使用此代码在 GUI 上设置字体。
def set_information_font(self): # Method for
if self.info_item == 0:
font = QFont("/Franklin Gothic Medium Cond", 18) # Ganti "Arial" dan 12 sesuai keinginan
elif self.info_item == 1:
font = QFont("Franklin Gothic Medium Cond", 18) # Ganti "Arial" dan 12 sesuai keinginan
print(f"Setting font for info_item = {self.info_item}")
self.ui.label_information_2.setFont(font) # Atur font untuk label_information_2
self.ui.label_information_2.setStyleSheet("color: rgb(0, 87, 151);")
self.ui.label_connection.setFont(QFont("Franklin Gothic Medium Cond", 20)) # Atur font untuk label_connection
self.ui.label_connection.setStyleSheet("color: rgb(0, 87, 151);")
因此,当我使用此代码时,我使用Windows中已安装的字体。
第一个程序输出的GUI如图1所示
现在我想使用该字体,但字体源位于我的文件目录中,该目录位于字体文件夹中。我尝试使用下面的代码:
def set_information_font(self): # Method for setting font
font_path = os.path.join(os.path.dirname(__file__), "font/FRAMDCN.TTF")
# Cek apakah font ada
if not os.path.exists(font_path):
print("Font tidak ditemukan:", font_path)
return
# Atur font untuk label_information_2 dan label_connection menggunakan path font
if self.info_item == 0:
font = QFont(font_path, 18) # Menggunakan path langsung ke file font
elif self.info_item == 1:
font = QFont(font_path, 18) # Menggunakan path langsung ke file font
self.ui.label_information_2.setFont(font) # Atur font untuk label_information_2
self.ui.label_information_2.setStyleSheet("color: rgb(0, 87, 151);")
self.ui.label_connection.setFont(QFont(font_path, 20)) # Atur font untuk label_connection
self.ui.label_connection.setStyleSheet("color: rgb(0, 87, 151);")
第一个程序输出的 GUI 如图 2 所示
但是该字体在 GUI 中没有成功应用。有什么解决办法吗?
谢谢你
我尝试了几个代码,但结果仍然相同
最后我找到了解决方案如下:
def set_information_font(self): # Method for
id = QFontDatabase.addApplicationFont("font/FRAMDCN.TTF")
families = QFontDatabase.applicationFontFamilies(id)
if self.info_item == 0:
font = QFont(families[0], 18) # Ganti "Arial" dan 12 sesuai keinginan
elif self.info_item == 1:
font = QFont(families[0], 18) # Ganti "Arial" dan 12 sesuai keinginan
print(f"Setting font for info_item = {self.info_item}")
self.ui.label_information_2.setFont(font) # Atur font untuk label_information_2
self.ui.label_information_2.setStyleSheet("color: rgb(0, 87, 151);")
self.ui.label_connection.setFont(QFont(families[0], 20)) # Atur font untuk label_connection
self.ui.label_connection.setStyleSheet("color: rgb(0, 87, 151);")
我使用QFontDataBase。