PyQt5如何实现字体对话框

本文讲解"PyQt5怎么实现字体对话框",希望能够解决相关问题。

字体对话框

字体对话框(QFontDialog)可以用来交互选择系统中的字体然后通过返回的QFont类型数据来设置相关的字体。

font, ok = QFontDialog.getFont()

示例:

# _*_ coding:utf-8 _*_
 
import sys
from PyQt6.QtWidgets import QApplication
from PyQt6.QtWidgets import QWidget
from PyQt6.QtWidgets import QMainWindow
from PyQt6.QtWidgets import QFontDialog
from PyQt6.QtWidgets import QPushButton
from PyQt6.QtWidgets import QLabel
from PyQt6.QtWidgets import QVBoxLayout
from PyQt6.QtGui import QFont
from PyQt6.QtCore import Qt 
 
 
class QFontDialogDemo(QMainWindow):
    """字体对话框"""
 
    def __init__(self):
        """构造函数"""
 
        super(QFontDialogDemo,self).__init__()
        self.init_ui()
 
    def init_ui(self):
        self.setWindowTitle("QFontDialogDemo")
        self.resize(300, 200)
 
        # 获取中央控件
        self.centralwidget = QWidget()
        self.setCentralWidget(self.centralwidget)
 
        # 设置布局
        self.vboxlayout = QVBoxLayout()
        self.vboxlayout.setAlignment(Qt.AlignmentFlag.AlignCenter)
        self.centralwidget.setLayout(self.vboxlayout)
 
        # 添加标签和按钮
        self.label = QLabel("字体样式展示")
        self.vboxlayout.addWidget(self.label)
        self.label_fonttype = QLabel("字体类型")
        self.vboxlayout.addWidget(self.label_fonttype)
        self.btn_showfontdialog = QPushButton("选择字体")
        self.btn_showfontdialog.clicked.connect(self.getfont)
        self.vboxlayout.addWidget(self.btn_showfontdialog)
        
 
    def getfont(self):
        """获取字体"""
        font, ok = QFontDialog.getFont()
        if ok :
            self.label.setFont(font)
            self.label_fonttype.setText(f"字体名称:{font.family()},样式:{font.styleName()},字号:{font.pointSize()}")
 
 
if __name__ == "__main__":
    """主程序运行"""
    
    app = QApplication(sys.argv)
    main = QFontDialogDemo()
    main.show()
    sys.exit(app.exec())

结果:

界面样式:

PyQt5如何实现字体对话框

字体弹窗:

PyQt5如何实现字体对话框

设置字体后:

PyQt5如何实现字体对话框

关于 "PyQt5怎么实现字体对话框" 就介绍到此。希望多多支持编程宝库

本文讲解"适配Laravel项目的版本号规划是什么",希望能够解决相关问题。在发布一个开源项目时,版本号是很重要的一个细节,它可以帮助用户了解项目的更新情况。版本号一般由数字和字母组成,常见的版本号 ...