龙空技术网

wxPython - 字体控制类Font

爱好史地的coder 82

前言:

如今看官们对“win10如何改变字体样式”大约比较着重,大家都想要剖析一些“win10如何改变字体样式”的相关资讯。那么小编也在网络上搜集了一些关于“win10如何改变字体样式””的相关文章,希望小伙伴们能喜欢,姐妹们快快来了解一下吧!

实战wxPython系列-059

字体是决定文本外观的对象,字体用于将文本绘制到设备上下文,并设置窗口文本的外观。

一、wx.Font简介

创建自定义字体最简单的方法是使用wx. FontInfo对象指定字体属性,然后使用wx.Font构造函数来创建。

wx.Font的构造函数形式为:

wx.Font(pointSize,family,style,weight,underline,faceName,encoding)

参数:

pointSize: pointSize是字体的以磅为单位的整数尺寸。

family: family用于快速指定一个字体而无需知道该字体的实际的名字.字体的准确选择依赖于系统和具体可用的字体.你所得到的精确的字体将依赖于你的系统。字体类别如下:

wx.DECORATIVE:一个正式的,老的英文样式字体;wx.DEFAULT:系统默认字体;wx.MODERN:一个单间隔(固定字符间距)字体。wx.ROMAN:serif字体,通常类似于Times New Roman。wx.SCRIPT:手写体或草写体。wx.SWISS:sans-serif字体,通常类似于Helvetica或Arial。

style: style参数指明字体的是否倾斜,它的值有:

wx.NORMALwx.SLANTwx.ITALIC

weight: weight参数指明字体的醒目程度,它的值有:

wx.NORMAL: 普通字体;wx.LIGHT: 高亮字体;wx.BOLD: 粗体。

underline: underline参数仅工作在Windows系统下,如果取值为True,则加下划线,False为无下划线。

faceName: faceName参数指定字体名。

encoding: encoding参数允许你在几个编码中选择一个,它映射内部的字符和字本显示字符。编码不是Unicode编码,只是用于wxPython的不同的8位编码。大多数情况你可以使用默认编码。

wx.Font常用方法:

GetFaceName(self):返回与字体相关的face name,如果没有face信息则返回空字符串。GetFamily(self):如果可能,获取字体族。如果wx.Font或底层系统无法识别当前字体面名称,则返回FONTFAMILY_DEFAULT。GetPixelSize(self):获取字体的像素尺寸。GetStyle(self):获取字体样式。GetUnderlined(self):如果字体有下划线则返回True,否则返回False。GetWeight(self):获取字体权重。IsFixedWidth(self):如果字体是固定宽度(或等宽)字体则返回True,如果是比例字体或字体无效则返回False。Italic(self):返回此字体的斜体版本。Bold(self):返回此字体的粗体版本。Underlined(self):返回该字体加下划线的版本。MakeBold(self):将此字体更改为粗体。MakeItalic(self):将此字体更改为斜体。MakeUnderlined(self):将此字体更改为带下划线字体。SetFaceName(self, faceName):设置字体的facename。SetFamily(self, family):设置字体族。SetPixelSize(self, pixelSize):设置字体的像素尺寸。SetStyle(self, style):设置字体样式。SetUnderlined(self, underlined):设置下划线。SetWeight(self, weight):设置字体权重。

二、wx.Font演示

#字体(wx.Font)import wxclass SampleFont(wx.Frame):    def __init__(self, *args, **kw):        super(SampleFont, self).__init__(*args, **kw)        self.InitUi()    def InitUi(self):        self.SetTitle("实战wxPython: 字体演示")        self.SetSize(400, 240)        panel = wx.Panel(self)        box = wx.BoxSizer(wx.VERTICAL)        txt1 = "Python GUI development"        txt2 = " using wxPython"        txt3 = " Python port of wxWidget "        txt = txt1+"\n"+txt2+"\n"+txt3         font = wx.Font(18, wx.ROMAN, wx.ITALIC, wx.NORMAL)        lbl = wx.StaticText(panel, wx.ID_ANY, style = wx.ALIGN_CENTER)        lbl.SetFont(font)        lbl.SetLabel(txt)        box.Add(lbl, 0, wx.ALIGN_CENTER)        lblwrap = wx.StaticText(panel, wx.ID_ANY, style = wx.ALIGN_RIGHT)        txt = txt1+txt2+txt3        lblwrap.SetLabel(txt)        lblwrap.Wrap(200)        box.Add(lblwrap, 0, wx.ALIGN_LEFT)         lbl1 = wx.StaticText(panel, wx.ID_ANY, style = wx.ALIGN_LEFT | wx.ST_ELLIPSIZE_MIDDLE)        lbl1.SetLabel(txt)        lbl1.SetForegroundColour((255,0,0))        lbl1.SetBackgroundColour((0,0,0))        font = self.GetFont()        font.SetPointSize(20)        lbl1.SetFont(font)        box.Add(lbl1, 0, wx.ALIGN_LEFT)                        panel.SetSizer(box)        self.Centre()def main():    app = wx.App()    sample = SampleFont(None)    sample.Show()    app.MainLoop()if __name__ == "__main__":    main()

上面的代码演示了在wxPython的控件中如何使用wx.Font,运行结果如图1所示:

图1:wx.Font演示

三、本文知识点

掌握和使用wx.Font。

前一篇:wxPython - GDI基本元素之画刷Brush

请关注,评论,收藏,点赞,和转发。

标签: #win10如何改变字体样式