Python基础8.ppt
《Python基础8.ppt》由会员分享,可在线阅读,更多相关《Python基础8.ppt(81页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、使用基本的控件使用基本的控件n nwxPython工具包提供了多种不同的窗口部工具包提供了多种不同的窗口部件,包括了本章所提到的基本控件。我们件,包括了本章所提到的基本控件。我们涉及静态文本、可编辑的文本、按钮、微涉及静态文本、可编辑的文本、按钮、微调、滑块、复选框、单选按钮、选择器、调、滑块、复选框、单选按钮、选择器、列表框、组合框和标尺。列表框、组合框和标尺。静态文本静态文本n n在在在在wxPythonwxPython中,使用类中,使用类中,使用类中,使用类wx.StaticTextwx.StaticText来完成。来完成。来完成。来完成。n n在在在在wx.StaticTextwx.S
2、taticText中,你能够改变文本的对齐方式、中,你能够改变文本的对齐方式、中,你能够改变文本的对齐方式、中,你能够改变文本的对齐方式、字体和颜色。简单的静态文本控件可以包含多行字体和颜色。简单的静态文本控件可以包含多行字体和颜色。简单的静态文本控件可以包含多行字体和颜色。简单的静态文本控件可以包含多行文本,但是你不能处理多种字体或样式。处理多文本,但是你不能处理多种字体或样式。处理多文本,但是你不能处理多种字体或样式。处理多文本,但是你不能处理多种字体或样式。处理多种字体或样式,要使用更精细的文本控件,如种字体或样式,要使用更精细的文本控件,如种字体或样式,要使用更精细的文本控件,如种字体
3、或样式,要使用更精细的文本控件,如wx.html.HTMLWindowwx.html.HTMLWindow。为了在静态文本控件中。为了在静态文本控件中。为了在静态文本控件中。为了在静态文本控件中显示多行文本,我们要包括其中有换行符的字符显示多行文本,我们要包括其中有换行符的字符显示多行文本,我们要包括其中有换行符的字符显示多行文本,我们要包括其中有换行符的字符串,并使控件的大小足够显示所有的文本。串,并使控件的大小足够显示所有的文本。串,并使控件的大小足够显示所有的文本。串,并使控件的大小足够显示所有的文本。n nwx.StaticTextwx.StaticText窗口不会接受或响应鼠标事件。
4、窗口不会接受或响应鼠标事件。窗口不会接受或响应鼠标事件。窗口不会接受或响应鼠标事件。静态文本静态文本n nimportimportwxwxn nclassclassStaticTextFrame(wx.FrameStaticTextFrame(wx.Frame):):n ndef_def_init_(selfinit_(self):):n nwx.Frame._init_(selfwx.Frame._init_(self,None,-1,StaticTextExample,None,-1,StaticTextExample,n nsize=(400,300)size=(400,300)n np
5、anel=panel=wx.Panel(selfwx.Panel(self,-1),-1)n n#这是一个基本的静态文本这是一个基本的静态文本这是一个基本的静态文本这是一个基本的静态文本n nwx.StaticText(panelwx.StaticText(panel,-1,”Thisisanexampleofstatictext”,-1,”Thisisanexampleofstatictext”,n n(100,10)(100,10)n n#指定了前景色和背景色的静态文本指定了前景色和背景色的静态文本指定了前景色和背景色的静态文本指定了前景色和背景色的静态文本n nrev=rev=wx.St
6、aticText(panelwx.StaticText(panel,-1,”StaticTextWithReversedColors”,-1,”StaticTextWithReversedColors”,n n(100,30)(100,30)n nrev.SetForegroundColour(whiterev.SetForegroundColour(white)n nrev.SetBackgroundColour(blackrev.SetBackgroundColour(black)n n静态文本静态文本n n#指定居中对齐的的静态文本指定居中对齐的的静态文本指定居中对齐的的静态文本指定居中
7、对齐的的静态文本n ncenter=center=wx.StaticText(panelwx.StaticText(panel,-1,”aligncenter”,(100,50),-1,”aligncenter”,(100,50),n n(160,-1),(160,-1),wx.ALIGN_CENTERwx.ALIGN_CENTER)n ncenter.SetForegroundColour(whitecenter.SetForegroundColour(white)n ncenter.SetBackgroundColour(blackcenter.SetBackgroundColour(bl
8、ack)n n#指定右对齐的静态文本指定右对齐的静态文本指定右对齐的静态文本指定右对齐的静态文本n nright=right=wx.StaticText(panelwx.StaticText(panel,-1,”alignright”,(100,70),-1,”alignright”,(100,70),n n(160,-1),(160,-1),wx.ALIGN_RIGHTwx.ALIGN_RIGHT)n nright.SetForegroundColour(whiteright.SetForegroundColour(white)n nright.SetBackgroundColour(bla
9、ckright.SetBackgroundColour(black)n n#指定新字体的静态文本指定新字体的静态文本指定新字体的静态文本指定新字体的静态文本n nstrstr=”Youcanalsochangethefont.”=”Youcanalsochangethefont.”n ntext=text=wx.StaticText(panelwx.StaticText(panel,-1,-1,strstr,(20,100),(20,100)n nfont=wx.Font(18,font=wx.Font(18,wx.DECORATIVEwx.DECORATIVE,wx.ITALICwx.ITA
10、LIC,wx.NORMALwx.NORMAL)n n176/565176/565text.SetFont(fonttext.SetFont(font)n n#显示多行文本显示多行文本显示多行文本显示多行文本n n 静态文本静态文本n nwx.StaticText(panelwx.StaticText(panel,-1,”Yourtext,-1,”Yourtextncanncanbesplitn”besplitn”n n”overmultiplelines”overmultiplelinesnnevennnevenblankones”,(20,150)blankones”,(20,150)n n
11、#显示对齐的多行文本显示对齐的多行文本显示对齐的多行文本显示对齐的多行文本n nwx.StaticText(panelwx.StaticText(panel,-1,”Multi-linetext,-1,”Multi-linetextncanncanalson”alson”n n”berightaligned”berightalignednnevennnevenwithablank”,(220,150),withablank”,(220,150),n nstyle=style=wx.ALIGN_RIGHTwx.ALIGN_RIGHT)n nif_name_=_main_:if_name_=_ma
12、in_:n napp=app=wx.PySimpleAppwx.PySimpleApp()()n nframe=frame=StaticTextFrameStaticTextFrame()()n nframe.Showframe.Show()()n napp.MainLoopapp.MainLoop()()wx.StaticText的构造函数的构造函数n nwx.StaticText(parentwx.StaticText(parent,id,label,pos=,id,label,pos=wx.DefaultPoswx.DefaultPositionition,size=,size=wx.D
13、efaultSizewx.DefaultSize,style=0,name=”,style=0,name=”staticstaticTextText”)”)n nwx.ALIGN_CENTERwx.ALIGN_CENTER:静态文本位于静态文本控:静态文本位于静态文本控:静态文本位于静态文本控:静态文本位于静态文本控件的中心。件的中心。件的中心。件的中心。n nwx.ALIGN_LEFTwx.ALIGN_LEFT:文本在窗口部件中左对齐。:文本在窗口部件中左对齐。:文本在窗口部件中左对齐。:文本在窗口部件中左对齐。这是默认的样式。这是默认的样式。这是默认的样式。这是默认的样式。n nwx.AL
14、IGN_RIGHTwx.ALIGN_RIGHT:文本在窗口部件中右对齐。:文本在窗口部件中右对齐。:文本在窗口部件中右对齐。:文本在窗口部件中右对齐。n nwx.ST_NO_AUTORESIZEwx.ST_NO_AUTORESIZE:如果使用了这个样:如果使用了这个样:如果使用了这个样:如果使用了这个样式,那么在使用了式,那么在使用了式,那么在使用了式,那么在使用了 SetLabelSetLabel()()改变文本之后,静改变文本之后,静改变文本之后,静改变文本之后,静态文本控件不将自我调整尺寸。你应结合使用一态文本控件不将自我调整尺寸。你应结合使用一态文本控件不将自我调整尺寸。你应结合使用一
15、态文本控件不将自我调整尺寸。你应结合使用一个居中或右对齐的控件来保持对齐。个居中或右对齐的控件来保持对齐。个居中或右对齐的控件来保持对齐。个居中或右对齐的控件来保持对齐。输入文本输入文本n n超越纯粹显示静态文本,我们将开始讨论超越纯粹显示静态文本,我们将开始讨论当输入文本时的用户交互。当输入文本时的用户交互。wxPython的文的文本域窗口部件的类是本域窗口部件的类是wx.TextCtrl,它允许,它允许单行和多行文本输入。它也可以作为密码单行和多行文本输入。它也可以作为密码输入控件,掩饰所按下的按键。如果平台输入控件,掩饰所按下的按键。如果平台支持的话,支持的话,wx.TextCtrl也提
16、供丰富格式文也提供丰富格式文本的显示,通过使用所定义和显示的多文本的显示,通过使用所定义和显示的多文本样式。本样式。输入文本输入文本n nimportwxn nclassTextFrame(wx.Frame):n ndef_init_(self):n nwx.Frame._init_(self,None,-1,TextEntryExample,size=(300,100)n npanel=wx.Panel(self,-1)n nbasicLabel=wx.StaticText(panel,-1,”BasicControl:”)输入文本输入文本n nbasicText=wx.TextCtrl(p
17、anel,-1,”Iveenteredsometext!”,size=(175,-1)n nbasicText.SetInsertionPoint(0)n npwdLabel=wx.StaticText(panel,-1,”Password:”)n npwdText=wx.TextCtrl(panel,-1,”password”,size=(175,-1),style=wx.TE_PASSWORD)输入文本输入文本n nsizersizer=wx.FlexGridSizer(colswx.FlexGridSizer(cols=2,=2,hgaphgap=6,=6,vgapvgap=6)=6)n
18、 nsizer.AddMany(basicLabelsizer.AddMany(basicLabel,basicTextbasicText,pwdLabelpwdLabel,pwdTextpwdText)n npanel.SetSizer(sizerpanel.SetSizer(sizer)n nif_name_=_main_:if_name_=_main_:n napp=app=wx.PySimpleAppwx.PySimpleApp()()n nframe=frame=TextFrameTextFrame()()n nframe.Showframe.Show()()n napp.MainL
19、oopapp.MainLoop()()输入文本输入文本n nwx.TextCtrl(parent,id,value=”,pos=wx.DefaultPosition,size=wx.DefaultSize,style=0,validator=wx.DefaultValidator,name=wx.TextCtrlNameStr)value是显示在该控件中的初始文本。是显示在该控件中的初始文本。n nvalidator参数用于一个参数用于一个wx.Validator。validator通常用于过虑数据以确保只能键入通常用于过虑数据以确保只能键入要接受的数据。要接受的数据。输入文本输入文本n nA
20、ppendText(textAppendText(text):在尾部添加文本。:在尾部添加文本。:在尾部添加文本。:在尾部添加文本。n nClear()Clear():重置控件中的文本为:重置控件中的文本为:重置控件中的文本为:重置控件中的文本为“”“”。并且生成。并且生成。并且生成。并且生成一个文本更新事件。一个文本更新事件。一个文本更新事件。一个文本更新事件。n nEmulateKeyPress(eventEmulateKeyPress(event):产生一个按键事件,:产生一个按键事件,:产生一个按键事件,:产生一个按键事件,插入与事件相关联的控制符,就如同实际的按键插入与事件相关联的控
21、制符,就如同实际的按键插入与事件相关联的控制符,就如同实际的按键插入与事件相关联的控制符,就如同实际的按键发生了。发生了。发生了。发生了。n nGetInsertionPointGetInsertionPoint()()n nSetInsertionPoint(posSetInsertionPoint(pos)n nSetInsertionPointEndSetInsertionPointEnd()():得到或设置插入点的位:得到或设置插入点的位:得到或设置插入点的位:得到或设置插入点的位置,位置是整型的索引值。控件的开始位置是置,位置是整型的索引值。控件的开始位置是置,位置是整型的索引值。控
22、件的开始位置是置,位置是整型的索引值。控件的开始位置是 0 0。输入文本输入文本n nGetRange(fromGetRange(from,to),to):返回控件中位置索引范围内的字符串。:返回控件中位置索引范围内的字符串。:返回控件中位置索引范围内的字符串。:返回控件中位置索引范围内的字符串。n nGetSelectionGetSelection()()n nGetStringSelectionGetStringSelection()()n nSetSelection(fromSetSelection(from,to),to):GetSelectionGetSelection()()以元组
23、的形式返回当前所选择以元组的形式返回当前所选择以元组的形式返回当前所选择以元组的形式返回当前所选择的文本的起始位置的索引值(开始,结束)。的文本的起始位置的索引值(开始,结束)。的文本的起始位置的索引值(开始,结束)。的文本的起始位置的索引值(开始,结束)。GetStringSelectionGetStringSelection()()得得得得到所选择的字符串。到所选择的字符串。到所选择的字符串。到所选择的字符串。SetSelection(fromSetSelection(from,to),to)设置选择的文本。设置选择的文本。设置选择的文本。设置选择的文本。n nGetValueGetVal
24、ue()()n nSetValue(valueSetValue(value):SetValueSetValue()()改变控件中的全部文本。改变控件中的全部文本。改变控件中的全部文本。改变控件中的全部文本。GetValueGetValue()()返返返返回控件中所有的字符串。回控件中所有的字符串。回控件中所有的字符串。回控件中所有的字符串。n nRemove(fromRemove(from,to),to):删除指定范围的文本。:删除指定范围的文本。:删除指定范围的文本。:删除指定范围的文本。n nReplace(fromReplace(from,to,value),to,value):用给定的
25、值替换掉指定范围内的文本。这:用给定的值替换掉指定范围内的文本。这:用给定的值替换掉指定范围内的文本。这:用给定的值替换掉指定范围内的文本。这可以改变文本的长度。可以改变文本的长度。可以改变文本的长度。可以改变文本的长度。n nWriteText(textWriteText(text):类似于:类似于:类似于:类似于 AppendTextAppendText()(),只是写入的文本被放置在当,只是写入的文本被放置在当,只是写入的文本被放置在当,只是写入的文本被放置在当前的插入点。前的插入点。前的插入点。前的插入点。多行或样式文本控件多行或样式文本控件n n使用使用wx.TE_MULTILINE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Python 基础
限制150内