一、wx.StaticText的使用
在wx.StaticText
中,你能够改变文本的对齐方式、字体和颜色。简单的静态文本控件可以包含多行文本,但是你不能处理多种字体或样式。处理多种字体或样式,要使用更精细的文本控件,如wx.html.HTMLWindow
。为了在静态文本控件中显示多行文本,我们要包括其中有换行符的字符串,并使控件的大小足够显示所有的文本。,那就是wx.StaticText
窗口不会接受或响应鼠标事件。
1.1、wx.StaticText
构造函数的参数
parent
:父窗口部件。
id
:标识符。使用-1可以自动创建一个唯一的标识。
label
:你想显示在静态控件中的文本。
pos
:一个wx.Point
或一个Python
元组,它是窗口部件的位置。
size
:一个wx.Size
或一个Python
元组,它是窗口部件的尺寸。
style
:样式标记。
name
:对象的名字,用于查找的需要。
1.2、样式
wx.ALIGN_CENTER
:静态文本位于静态文本控件的中心。
wx.ALIGN_LEFT
:文本在窗口部件中左对齐。这是默认的样式。
wx.ALIGN_RIGHT
:文本在窗口部件中右对齐。
wx.ST_NO_AUTORESIZE
:如果使用了这个样式,那么在使用了SetLabel()
改变文本之后,静态文本控件不将自我调整尺寸。你应结合使用一个居中或右对齐的控件来保持对齐。
wx.StaticText
控件覆盖了SetLabel()
,以便根据新的文本来调整自身,除非wx.ST_NO_AUTORESIZE
样式被设置了。
当创建了一个居中或右对齐的单行静态文本时,你应该显式地在构造器中设置控件的尺寸。指定尺寸以防止wxPython
自动调整该控件的尺寸。wxPython
的默认尺寸是刚好包容了文本的矩形尺寸,因此对齐就没有什么必要。要在程序中动态地改变窗口部件中的文本,而不改变该窗口部件的尺寸,就要设置wx.ST_NO_AUTORESIZE
样式。这样就防止了在文本被重置后,窗口部件自动调整尺寸到刚好包容了文本。如果静态文本是位于一个动态的布局中,那么改变它的尺寸可能导致屏幕上其它的窗口部件移动,这就对用户产生了干扰。
二、创建文本
创建一个添加成员的文本,具体文本方法使用
a_text = wx.StaticText(panel, -1, label=u'添加成员')
font_2 = wx.Font(10, family=wx.DECORATIVE, style=wx.NORMAL, weight=wx.NORMAL, faceName="STHupo")
self.new_user.SetCursor(wx.Cursor(wx.CURSOR_HAND)) # 附加点击效果
self.new_user.SetFont(font_2)
实现效果