自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm=1001.2014.3001.5501
创建完窗口以后,我们可以在窗口内添加一些控件,所谓的控件,就是经常使用的按钮、文本、输入框、单选框等。
于所有的UI工具来说,最基本的任务就是在屏幕上绘制纯文本。在wxPython中,可以使用wx.StaticText类来完成。使用wx.StaticText能够改变文本的对齐方式、字体和颜色等。wx.StaticText类的构造函数语法格式如下:
wx.StaticText(parent, id, label, pos=wx.DefaultPosition,size=wx.DefaultSize,
style=0, name="staticText")
参数说明:
l parent:父窗口部件。
l id:标识符。使用-1可以自动创建一个唯一的标识。
l label:显示在静态控件中的文本内容。
l pos:一个wx.Point或一个Python元组,它是窗口部件的位置。
l size:一个wx.Size或一个Python元组,它是窗口部件的尺寸。
l style:样式标记。
l name:对象的名字。
实例01 使用wx.StaticText输出Python之禅
在Python控制台中输入 import this后,会输出如图6所示的结果,结果中的英文语句就是通常所说的Python之禅。
图6 Python之禅
下面使用StaticText类输出中文版的Python之禅。具体代码如下:
# -*- coding:utf-8 -*-
import wx
class MyFrame(wx.Frame):
def __init__(self,parent,id):
wx.Frame.__init__(self, parent, id, title = "创建StaticText类",
pos=(100, 100), size=(600, 400))
panel = wx.Panel(self) # 创建画板
# 创建标题,并设置字体
title = wx.StaticText(panel, label='Python之禅――Tim Peters',pos=(100,20))
font = wx.Font(16, wx.DEFAULT, wx.FONTSTYLE_NORMAL, wx.NORMAL)
title.SetFont(font)
# 创建文本
wx.StaticText(panel, label='优美胜于丑陋',pos=(50,50))
wx.StaticText(panel, label='明了胜于晦涩',pos=(50,70))
wx.StaticText(panel, label='简洁胜于复杂',pos=(50,90))
wx.StaticText(panel, label='复杂胜于凌乱',pos=(50,110))
wx.StaticText(panel, label='扁平胜于嵌套',pos=(50,130))
wx.StaticText(panel, label='间隔胜于紧凑',pos=(50,150))
wx.StaticText(panel, label='可读性很重要',pos=(50,170))
wx.StaticText(panel, label='即便假借特例的实用性之名,也不可违背这些规则',pos=(50,190))
wx.StaticText(panel, label='不要包容所有错误,除非你确定需要这样做',pos=(50,210))
wx.StaticText(panel, label='当存在多种可能,不要尝试去猜测',pos=(50,230))
wx.StaticText(panel, label='而是尽量找一种,最好是唯一一种明显的解决方案',pos=(50,250))
wx.StaticText(panel, label='虽然这并不容易,因为你不是 Python 之父',pos=(50,270))
wx.StaticText(panel, label='做也许好过不做,但不假思索就动手还不如不做',pos=(50,290))
wx.StaticText(panel, label='如果你无法向人描述你的方案,那肯定不是一个好方案;
反之亦然',pos=(50,310))
wx.StaticText(panel, label='命名空间是一种绝妙的理念,我们应当多加利用',pos=(50,330))
if __name__ == '__main__':
app = wx.App() # 初始化应用
frame = MyFrame(parent=None,id=-1) # 实例MyFrame类,并传递参数
frame.Show() # 显示窗口
app.MainLoop() # 调用主循环方法
上述代码中,使用panel = wx.Panel(self) 来创建画板,并将panel作为父类,然后将组件放入窗体中。此外,使用wx.Font类来设置字体。创建一个字体实例,需要使用如下的构造函数:
wx.Font(pointSize, family, style, weight, underline=False, faceName="",
encoding=wx.FONTENCODING_DEFAULT)
参数说明:
l pointSize:字体的整数尺寸,单位为磅。
l family:用于快速指定一个字体而不需要知道该字体实际的名字。
l style:指明字体是否倾斜。
l weight:指明字体的醒目程度。
l underline:仅在Windows系统下有效,如果取值为True,则加下划线,如果为False则无下划线。
l faceName:指定字体名。
l encoding:允许在几个编码中选择一个,大多数情况可以使用默认编码。
运行结果如图7所示。
图7 输出Python之禅