Chinaunix首页 | 论坛 | 博客
  • 博客访问: 576867
  • 博文数量: 226
  • 博客积分: 10080
  • 博客等级: 上将
  • 技术积分: 1725
  • 用 户 组: 普通用户
  • 注册时间: 2007-11-26 11:15
文章分类

全部博文(226)

文章存档

2011年(5)

2010年(64)

2009年(99)

2008年(37)

2007年(21)

我的朋友

分类: LINUX

2010-02-12 11:35:29

#! /usr/bin/env python
#coding=utf-8
import wx
class StaticTextFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, -1, 'Static Text Example',
size=(400, 300))
panel = wx.Panel(self, -1)
# 这是一个基本的静态文本
wx.StaticText(panel, -1, "This is an example of static text",
(100, 10))
# 指定了前景色和背景色的静态文本
rev = wx.StaticText(panel, -1, "Static Text With Reversed Colors",
(100, 30))
rev.SetForegroundColour('white')
rev.SetBackgroundColour('black')
# 指定居中对齐的的静态文本
center = wx.StaticText(panel, -1, "align center", (100, 50),
(160, -1), wx.ALIGN_CENTER)
center.SetForegroundColour('white')
center.SetBackgroundColour('black')
# 指定右对齐的静态文本
right = wx.StaticText(panel, -1, "align right", (100, 70),
(160, -1), wx.ALIGN_RIGHT)
right.SetForegroundColour('white')
right.SetBackgroundColour('black')
# 指定新字体的静态文本
str = "You can also change the font."
text = wx.StaticText(panel, -1, str, (20, 100))
font = wx.Font(18, wx.DECORATIVE, wx.ITALIC, wx.NORMAL)
text.SetFont(font)
# 显示多行文本
wx.StaticText(panel, -1, "Your text\ncan be split\n"
"over multiple lines\n\neven blank ones", (20,150))
#显示对齐的多行文本
wx.StaticText(panel, -1, "Multi-line text\ncan also\n"
"be right aligned\n\neven with a blank", (220,150),
style=wx.ALIGN_RIGHT)

if __name__ == '__main__':
app = wx.PySimpleApp()
frame = StaticTextFrame()
frame.Show()

app.MainLoop()


----------以上例子来自wxPython in action------------------------------

wx.StaticText的构造函数和基本的wxWidget构造函数相同,如下所示:
切换行号显示
wx.StaticText(parent, id, label, pos=wx.DefaultPosition,
size=wx.DefaultSize, style=0, name="staticText")

表7.1说明了这些参数——大多数的wxPython窗口部件都有相类似的参数。对于构造函数的参数的更详细的说明,请参见第2章的相关论述。

表7.1 wx.StaticText构造函数的参数

parent:父窗口部件。

id:标识符。使用-1可以自动创建一个唯一的标识。

label:你想显示在静态控件中的文本。

pos:一个wx.Point或一个Python元组,它是窗口部件的位置。

size:一个wx.Size或一个Python元组,它是窗口部件的尺寸。

style:样式标记。

name:对象的名字,用于查找的需要。

接下来我们更详细地讨论样式标记。

使用样式工作

所有在例7.1中静态文本实例所调用的方法都是属于基父类wx.Window的;wx.StaticText没有定义任何它自己的新方法。表7.2列出了一些专用于wx.StaticText的样式。

表7.2

wx.ALIGN_CENTER:静态文本位于静态文本控件的中心。

wx.ALIGN_LEFT:文本在窗口部件中左对齐。这是默认的样式。

wx.ALIGN_RIGHT:文本在窗口部件中右对齐。

wx.ST_NO_AUTORESIZE:如果使用了这个样式,那么在使用了SetLabel()改变文本之后,静态文本控件不将自我调整尺寸。你应结合使用一个居中或右对齐的控件来保持对齐。

wx.StaticText控件覆盖了SetLabel(),以便根据新的文本来调整自身,除非wx.ST_NO_AUTORESIZE样式被设置了


阅读(895) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~