zoukankan      html  css  js  c++  java
  • 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里的字体。

  • 相关阅读:
    C# String.Format用法和格式说明
    VS2017桌面应用程序打包成.msi或者.exe
    Mysql授权允许远程访问
    C# Winform频繁刷新导致界面闪烁解决方法
    C# 解决窗体闪烁
    C# winform或控制台Properties.Settings.Default的使用及存储位置
    C# 获取计算机cpu,硬盘,内存相关的信息
    C# 多线程多文件批量下载---子线程中更新UI 实例
    Objective-C:NSSet和NSMutbaleSet的用法
    iOS:App上架流程和支付宝支付流程
  • 原文地址:https://www.cnblogs.com/yinsedeyinse/p/10962326.html
Copyright © 2011-2022 走看看