前言——Font 类

wx.Font 类在开发中为了设置控件字体,必不可少。然而,对于 Font 字体类的教程很多,却很久远。目前的 wxPython 的 Font 类的一些参数也早有更改,与其不同。而教程中提到的在 wxPython 里虽然还可以使用,但在 IDE 中已经无法检测到,基本标红。而且,上边提到的教程中因为没有与 wxPython 同时更新,少了一大半的样式。在本篇文章中将详细解释,纠正一下错误。
出示一个过时的构造……

上边出示的是一篇 2017 年的文章了。其他的说明大都与此相似。本篇文章将出示的与这一类不同,采用的最新标准,且使用的 wxPython 为 4.1.1 。
当然,也可以在 wxPython 官方的帮助文档 wx.Font 。

Font 构造及使用

Font 的构造不少,但常用的只有如下两种:

  • Font(fontInfo)
  • Font(pointSize, family, style, weight, underline=False, faceName="", encoding=FONTENCODING_DEFAULT)

现在能看到的除官方外的教程中大多数是第二种(如上文图片)。而其问题则是出在 family style weight 三个参数的取值上。这里我将将两种构造都介绍一遍。其他的构造方式有:

  • Font()
  • Font(font)
  • Font(pixelSize, family, style, weight, underline=False, faceName="", encoding=FONTENCODING_DEFAULT)
  • Font(nativeInfoString)
  • Font(nativeInfo)

这些构造方式可以在官网 wx.Font 上自行学习,这里不再赘述。

构造一 Font(fontInfo)

这种方式只需传一个参数 fontInfo ,而这个参数便是一个 FontInfo 类。了解这种构造方式自然而然就成为了了解 FontInfo 。以下即为 FontInfo 的构造之一。
FontInfo(pointSize)
当然,还有另一种 FontInfo(pixelSize) ,把 pointSize 改成了 pixelSize 。

继续对于 FontInfo(pointSize) 的构造作讲解。
这个参数 pointSize 自然是文字大小,为 float 浮点数对象。

方法

FontInfo 的方法及其作用如下。

  • Bold(bold=True):为字设置粗体样式
  • Light(light=True):为字设置较细样式
  • 等等……

这些基本没有必要全数列举,毕竟构造二更加常用,功能一般更全。详细的讲解在下边的构造二中。

示例

from wx import *font = Font(FontInfo(10).Bold().Underline())

上边的使用构造一创建的示例,即,创建了一个文字大小( pointSize )为 10 的粗体且带有下划线的字体。

构造二

这便是 Font 设置中最常用的一种,所以在下边会有详细的解释。
Font(pointSize, family, style, weight, underline=False, faceName="", encoding=FONTENCODING_DEFAULT)

  • pointSize :文字大小:float
  • family :字体系列:FontFamily
  • style :文字样式:FontStyle
  • weight :文字粗细:FontWeight
  • underline :是否下划线:bool
  • faceName :字体名:string
  • encoding :文字编码:FontEncoding

其中, FontFamily 、 FontStyle 、 FontWeight 、 FontEncoding 是 wxPython 内置的样式。一下有说明。

FontFamily

  • FONTFAMILY_DEFAULT :默认字体
  • FONTFAMILY_DECORATIVE : 装饰字体
  • FONTFAMILY_ROMAN :衬线字体
  • FONTFAMILY_SCRIPT :手写体
  • FONTFAMILY_SWISS : 无衬线字体
  • FONTFAMILY_MODERN : 等距字体
  • FONTFAMILY_TELETYPE :打字机字体

FontStyle

  • FONTSTYLE_NORMAL :普通,没有倾斜
  • FONTSTYLE_ITALIC :(意大利)斜体
  • FONTSTYLE_SLANT :(罗马)斜体

FontWeight

  • FONTWEIGHT_THIN :最细字体
  • FONTWEIGHT_EXTRALIGHT :极细字体
  • FONTWEIGHT_LIGHT :细体
  • FONTWEIGHT_NORMAL :正常字重
  • FONTWEIGHT_MEDIUM :中等字重(比 FONTWEIGHT_NORMAL 稍粗)
  • FONTWEIGHT_SEMIBOLD :稍粗字体
  • FONTWEIGHT_BOLD :粗体
  • FONTWEIGHT_EXTRABOLD :较粗字体
  • FONTWEIGHT_HEAVY :极粗字体
  • FONTWEIGHT_EXTRAHEAVY :最粗字体

FontEncoding

FontEncoding 有非常多种,在此仅按照对有限的编码作解释,其余的直接列出

  • FONTENCODING_SYSTEM :系统默认编码
  • FONTENCODING_DEFAULT :应用默认编码
  • FONTENCODING_ISO8859_1
  • FONTENCODING_ISO8859_2
  • FONTENCODING_ISO8859_3
  • FONTENCODING_ISO8859_4
  • FONTENCODING_ISO8859_5
  • FONTENCODING_ISO8859_6
  • FONTENCODING_ISO8859_7
  • FONTENCODING_ISO8859_8
  • FONTENCODING_ISO8859_9
  • FONTENCODING_ISO8859_10
  • FONTENCODING_ISO8859_11
  • FONTENCODING_ISO8859_12
  • FONTENCODING_ISO8859_13
  • FONTENCODING_ISO8859_14
  • FONTENCODING_ISO8859_15
  • FONTENCODING_KOI8
  • FONTENCODING_KOI8_U
  • FONTENCODING_ALTERNATIVE
  • FONTENCODING_BULGARIAN
  • FONTENCODING_CP437
  • FONTENCODING_CP850
  • FONTENCODING_CP852
  • ……
  • ……

编码方式过多,这里肯定放不下。wx.FontEncoding 里可以查看。

后记

那么这篇对于 wx.Font 类的纠正兼教程就到此为止了。纠正的部分主要体现于四个枚举的说明。想学习更多 wxPython 知识,欢迎关注专栏 wxPython ~

wxPython wx.Font类的纠正 · wx.Font教程相关推荐

  1. Java中----Font类简介

    一.Font类简介 Font类是用于设置图形用户界面上的字体样式的,包括字体类型(例如宋体.仿宋.Times New Roman等).字体风格(例如斜体字.加粗等).以及字号大小. 二.Font类的引 ...

  2. 我用wxPython搭建GUI量化系统之wx.grid实现excel功能

    在数据分析中少不了会使用到像excel一样的表格来显示和编辑数据. 本节我们介绍下wx.grid.Grid的使用. 首先我们跑一个关于wx.grid.Grid测试的例程,看看整体的显示效果. clas ...

  3. python中wx是啥_设置wx.框架大小(wxPython wxWidgets)

    我是wxPython新手,在设置框架和窗口(widgets)的给定大小时,我发现了一些问题.我把这个问题隔离到一个最简单的例子中,我试图创建一个250x250像素的帧.在 运行代码我得到一个实际尺寸为 ...

  4. itextpdf如何不使用font类设置字体大小

    iTextPdf不使用Font类设置字体大小可以使用setFontSize()方法来设置字体大小.例如: document.add(new Paragraph("这是一个段落"). ...

  5. wxpython textctrl_wxPython TextCtrl类

    wx.TextCtrl(parent, id, value, pos, size, style) 样式(style)参数接受一个或多个常量,如下列表 − S.N. 参数&描述 1 wx.TE_ ...

  6. python中wx是啥_python中wx模块的具体使用方法

    wx包中的方法都是以大写字母开头的,而这和Python的习惯是相反的. 本节介绍如何创建python程序的图形用户界面(GUI),也就是那些带有按钮和文本框的窗口.这里介绍wxPython : 根据自 ...

  7. 微信小程序wx:for 的使用以及wx:key绑定

    概述 wx:for基本使用 wx:for-item和wx:for-index重新命名item和index wx:key两种绑定方式以及注意事项 wx:for基本使用 业务层数据 Page({data: ...

  8. HTML阿里巴巴/Font Awesome 矢量图标的使用教程

    iconfont-阿里巴巴矢量图标库 找到需要的图标添加至购物车 点击购物车下载代码 下载好解压放入html项目里,我放在css文件里,font开头的. font_vmmmy91qaaa.zip_免费 ...

  9. python基本原理概论_优学院《2020年马克思主义基本原理概论题库(高职类)》查题教程2020高校邦《Python程序设计基础【实境编程】》答案完整...

    优学院<2020年马克思主义基本原理概论题库(高职类)>查题教程2020高校邦<Python程序设计基础[实境编程]>答案完整 更多相关问题 专业职业是相对以下哪点而言的(). ...

最新文章

  1. mongodb索引生成HTML页面,MongoDB高级索引
  2. android79 Fragment生命周期
  3. 信息安全工程师笔记-综合知识冲刺(二)
  4. 非空验证方法(多值)和BindingResult提示验证信息
  5. EqualLogic强势增长,戴尔领跑iSCSI中国及香港地区市场
  6. URL vs URI
  7. 【机器学习】Octave矩阵,向量的表示与基本操作
  8. 深度学习1-tensorflow2.0自定义操作与建模方式
  9. Spring的事务注解@Transactional 出现的6种失效场景
  10. 放大你的Rstudio窗口字体
  11. Python——类的继承
  12. group by 和 having 用法
  13. UE4 EQS C++自定义节点编写
  14. python 词汇表_使用Counter构建词汇表
  15. 多表联查(多表连接)(join)
  16. 百慕大永中为何有权继续开发集成Office?
  17. 浅谈自动驾驶系统感知系统
  18. 微信小程序——页面之间传递值
  19. 计算机分类汇总表格,Excel分类汇总使用全攻略
  20. 钉钉小程序实现富文本编辑

热门文章

  1. 陈硕Muduo网络库--功能架构总结
  2. 迪丽热巴VS杨幂VS林志玲,谁最美?Python说了算
  3. 《花雕学AI》24:如何用万能Prompt公式与ChatGPT进行高效的对话测试
  4. 以高科技传情达意,戴森如何以“洞察力”打造情人节贴心好礼?
  5. 【bzoj2563】【阿狸和桃子的游戏】【贪心】
  6. 关于LM324比较器和跟随器的应用
  7. java xmx full gc_设置在full gc 前后dump jvm
  8. full gc排查思路
  9. 运维安全-SSL_Threat_Model
  10. JeecgBoot学习_Online表单初体验