首页 技术 正文
技术 2022年11月22日
0 收藏 776 点赞 5,220 浏览 1621 个字

一、引言

在介绍QFontComboBox之前,我们先简单介绍一下字体相关概念。

  • 书写系统(writingSystem) :书写系统包括一个或多个文字集和一系列规则,一个书写系统至少对应一种语言,可以用书写系统的符号集合和规则比如拼写规则、大小写等来表达对应的语言,如汉字、日文、罗马字等
  • 比例字体(ProportionalFonts)和等宽字体(MonospacedFonts):比例字体每个字母宽度按一定比例自动调整,比例字体使单词的整体可读性增强了;等宽字体则是每个字母所占宽度相同。如图:

  • 缩放字体(ScalableFonts):缩放字体可调整大小(扩大或缩小)而不导致扭曲的字体,各个字符的轮廓以数学公式形式保存,完整字符集的所有公式称轮廓字体,如truetype字体
  • 字体的kerning属性

    kerning属性用于控制字体在输出时是否启用kerning控制,启用kerning控制用于调整字符间距,且基本上是英文字符形状的间距,因为英文字符形状都是不规则的,有宽有窄,有的圆乎乎,有的棱角分明,就会导致排列在一起的时候疏密不一致,而kerning可以有效利用字符形状间的间隙,使字形之间的空间更加相似。

    对应的访问方法为QFont类的kerning()和setKerning(bool enable)。

  • 字体Antialiasing属性

    Antialiasing属性用于控制是否启用反走样抗锯齿,即字体在缩放时防止变形。

在QFont中并没有Antialiasing属性,该属性实际上对应的是QFont的styleStrategy属性的某几个取值,可以通过QFont的方法styleStrategy()和setStyleStrategy(setStyleStrategy())来访问,对应属性取值类型为枚举类型 QFont.StyleStrategy,对应取值请参考官网说明。

QFontComboBox是从QComboBox派生的,是一个允许用户选择字体的组合框。

组合框中下拉列表中是按字体名字母顺序排列的字体列表。

二、QFontComboBox属性和方法

QFontComboBox在Designer中可以设置的属性很简单,请见下图:

QFontComboBox除了属性相关方法和构造方法外,并无其他单独的方法。相关属性及访问方法如下:

  1. writingSystem:书写系统,其类型为枚举类型QFontDatabase.WritingSystem,用于控制选择字体系列,具体设置请参见官网。该属性值缺省为QFontDatabase.Any,表示所有字体系统都可以支持。可以通过writingSystem()、setWritingSystem()方法来访问;
  2. fontFilters:字体过滤,用于控制显示哪些类型的字体,包括选择是否可缩放、是否等宽字体、是否比例字体等属性,对应类型为枚举类型QFontComboBox.FontFilter,具体设置请参见官网。缺省值为QFontComboBox.AllFont,表示所有字体都可以使用。可通过fontFilters()、setFontFilters()方法来访问;
  3. currentFont :当前选择字体,类型即为QFont类型,可通过方法currentFont()、setCurrentFont()访问,当其值改变时,会发出currentFontChanged(QFont font)信号。但是当用户选择新字体时,除了发出currentFontChanged()信号之外,还会发出currentIndexChanged()信号。

老猿Python,跟老猿学Python!

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,985
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,501
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,345
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,128
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,763
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,839