以下是一个简单的Qt程序,演示如何使用字体对话框:
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QPushButton, QFontDialog
class FontDialogExample(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 创建标签和按钮
self.label = QLabel('Hello World!', self)
self.label.setGeometry(50, 50, 200, 30)
fontBtn = QPushButton('Select Font', self)
fontBtn.setGeometry(50, 100, 100, 30)
fontBtn.clicked.connect(self.showFontDialog)
# 设置窗口大小和标题
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('Font Dialog Example')
def showFontDialog(self):
# 显示字体对话框
fontInfo = QFontDialog.getFont()
# 如果用户选择了字体,则更新标签的字体
if fontInfo[1]:
font = fontInfo[0]
self.label.setFont(font)
if __name__ == '__main__':
app = QApplication([])
ex = FontDialogExample()
ex.show()
app.exec_()
该程序创建了一个窗口,其中包含一个标签和一个按钮。当用户单击按钮时,会显示字体对话框,允许用户选择自己喜欢的字体。如果用户选择了新的字体,则标签的字体将更新为所选字体。
可以使用QFontDialog类来显示字体对话框,并获取用户选择的结果。getFont()方法返回两个值:选定的字体和布尔值,表示用户是否选择了字体。