欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

PyQt5基本控件详解之QFontDialog(十五)

程序员文章站 2022-05-28 11:10:59
...

QFontDialog

前言

QFontDialog控件是一个常用的字体选择对话框,可以让用户选择所显示文本的字号大小,样式和格式,QFontDialog是QDialog控件对话框的一部分,使用QFontDialog类的静态方法getFont(),可以从字体选择对话框中选择文本的显示字号大小样式和格式

实例:QFontDialog的使用

import sys
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *

class FontDialogdemo(QWidget):
    def __init__(self,parent=None):
        super(FontDialogdemo, self).__init__(parent)

        #垂直布局
        layout=QVBoxLayout()

        #创建按钮,绑定自定义槽函数,添加到布局中
        self.fonButton=QPushButton('Choose Font')
        self.fonButton.clicked.connect(self.getFont)
        layout.addWidget(self.fonButton)

        #创建标签,添加dao到布局中
        self.FontLineEdit=QLabel('Hello 测试字体的例子')
        layout.addWidget(self.FontLineEdit)

        #设置主窗口布局及标题
        self.setLayout(layout)
        self.setWindowTitle("Font Dialog例子")

    def getFont(self):
        font,ok=QFontDialog.getFont()
        if ok:
            self.FontLineEdit.setFont(font)

if __name__ == '__main__':
    app=QApplication(sys.argv)
    demo=FontDialogdemo()
    demo.show()
    sys.exit(app.exec_())

运行程序,显示效果如下如
PyQt5基本控件详解之QFontDialog(十五)

代码分析

在这个例子中,通过字体选择对话框选择相应的字体,并且选择字体的效果显示在QLineEdit的文本
实例化fontButton和fontLineEdit对象,并将FontButton的clicked信号和槽函数getFont()绑定在一起

self.fonButton=QPushButton('Choose Font')
self.fonButton.clicked.connect(self.getFont)

创建垂直布局QVBoxLayout布局,在垂直布局管理器中添加fontButton和fontLineEdit组件,并按照相应的位置添加到栅格布局中

layout = QVBoxLayout()
layout.addWidget(self.fonButton)
layout.addWidget(self.FontLineEdit)

当单击fontButton按钮时,将clicked信号发送到槽函数getFont(中)

self.fonButton.clicked.connect(self.getFont)

自定义槽函数,选择字体,并将字体效果设置到fontLineEdit中,getFont()方法返回的为元祖类型,同时返回所选择的字体和函数执行的状态

 def getFont(self):
        font,ok=QFontDialog.getFont()
        if ok:
            self.FontLineEdit.setFont(font)

源码以及相关文件下载:https://download.csdn.net/download/jia666666/10597897

相关标签: QFontDialog PyQt5