• GUI学习之十九——QFontComboBox学习总结


    我们上一章学习了QComboBox的用法,这一章我们来看一下它的一个比较常用的子类:QFontComboBox()。

    一.描述

      QFontComboBox()是QComboBox()的一个子类,但是它的内容是不能被编辑的,主要是用来选择字体。

    二.功能作用

      1.设置和获取当前的字体

    QFontComboBox.setCurrentFont(self, f: QtGui.QFont)      #设置字体
    QFontComboBox.currentFont()                             #获取字体——>QFont

    注意的是当前显示的字体都是宋体的,即便选择了别的字体在文本框里显示效果都是宋体。

      2.设置字体过滤器

      由于控件提供能够选择的字体种类太多,我们可以用过滤器来过滤控件的提供选项

    QFontComboBox.setFontFilters(self, filters: typing.Union['QFontComboBox.FontFilters', 'QFontComboBox.FontFilter'])
    #type: 'QFontComboBox.FontFilter'
    AllFonts = ...           #所有字体
    ScalableFonts = ...      # 可缩放
    NonScalableFonts = ...    # 不可缩放
    MonospacedFonts = ...    # 等宽字体
    ProportionalFonts = ...   # 比例字体

    三.信号

      除了继承的父类信号外,QFontComboBox()还有另外一个信号

    QFontComboBox.currentFontChanged(self, f: QtGui.QFont)

      信号还传递了选择的字体作为参数。我们可以这样使用

    from PyQt5.Qt import *
    import sys
    
    class Window(QWidget):
        def __init__(self):
            super().__init__()
            self.UI_test()
    
    
    
        def UI_test(self):
            fcb = QFontComboBox(self)
            fcb.resize(200,30)
            fcb.setEditable(False)   #一般情况字体选择控件是不能够被编辑的
            self.resize(500,300)
            self.fcb = fcb
            self.label = QLabel(self)
            self.label.move(100,100)
            self.label.setText('hello,你是谁?')
            fcb.currentFontChanged.connect(self.font_change)
    
        def font_change(self,font):
            self.label.setFont(font)
            self.fcb.setFont(font)
            pass
    if __name__ == '__main__':
        app = QApplication(sys.argv)
        window = Window()
        window.show()
        sys.exit(app.exec_())
    QFontComboBox()案例

      出来就是这个效果

      通过选择字体,改变了字体选择框和label里的字体。

  • 相关阅读:
    Sql Server 日期推算处理,格式化处理
    自动升级功能(zt)
    绘制普通的可上下左右布局的RULER(zt)
    合并两个WORD文档,并且修改Word中标签的内容
    Sql Server 中汉字处理排序规则,全角半角
    用函数式编程技术编写优美的 JavaScript(zt)
    什么是序列化?
    日期概念理解中的一些测试
    DataSet,DataTable 不使用EXCEL组件直接保存为EXCEL
    接口测试自动化实践指南
  • 原文地址:https://www.cnblogs.com/yinsedeyinse/p/10962326.html
Copyright © 2020-2023  润新知