wxpython富文本_Python实例讲解 wxpython 基本的控件 (文本)

使用基本的控件工作

wxPython 工具包提供了多种不同的窗口部件,包括了本章所提到的基本控件。我们涉及静态文本、可编辑的文本、按钮、微调、滑块、复选框、单选按钮、选择器、列表框、组合框和标尺。对于每种窗口部件,我们将提供一个关于如何使用它的简短例子,并附上相关的wxPython API 的说明。

显示文本

这一节以在屏幕上显示文本的例子作为开始,包括用作标签的静态文本域,有样式和无样式的都使用了。你可以创建用于用户输入的单行和多行文本域。另外,我们将讨论如何选择文本的字体。

如何显示静态文本?

大概对于所有的UI 工具来说,最基本的任务就是在屏幕上绘制纯文本。在wxPython 中,使用类wx.StaticText 来完成。图7.1显示了这个静态文本控件。

30398593_1.gif

在wx.StaticText 中,你能够改变文本的对齐方式、字体和颜色。简单的静态文本控件可以包含多行文本,但是你不能处理多种字体或样式。处理多种字体或样式,要使用更精细的文本控件,如wx.html.HTMLWindow ,它在第十六章中说明。为了在静态文本控件中显示多行文本,我们要包括其中有换行符的字符串,并使控件的大小足够显示所有的文本。有一个特点是你在图7.1中所不能看到的,那就是wx.StaticText 窗口不会接受或响应鼠标事件。

如何显示静态文本

例子7.1显示了产生图7.1的代码。

例7.1 如何使用静态文本的一个基本例子

Python代码 30398593_2.gif 30398593_3.png

importwx

classStaticTextFrame(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()

wx.StaticText 的构造函数和基本的wxWidget 构造函数相同,如下所示:

Python代码 30398593_2.gif 30398593_3.png

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() 改变文本之后,静态文本控件不将自我调整尺寸。你应结合使用一个居中或右对

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值