Python编程语言基础使用基本的控件_第1页
Python编程语言基础使用基本的控件_第2页
Python编程语言基础使用基本的控件_第3页
Python编程语言基础使用基本的控件_第4页
Python编程语言基础使用基本的控件_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Python编程语言基础使用基本的控件使用基本控件wxPython工具包,有许多不同的小部件,包括本章中提到的基本控件。我们指的是静态文本、可编辑文本、按钮、微调、滑块、复选框、单选按钮、选择器、列表框、组合框和标尺。静态文本是在wxPython中使用类wxStaticText完成的。在wxStaticText中,您可以更改文本、字体和颜色的对齐方式。简单的静态文本控件可以包含多行文本,但不能处理多种字体或样式。处理多种字体或样式需要更精细的文本控件,如wxhtmlHTMLWindow。为了在静态文本控件中显示多行文本,我们需要包含一个带换行符的字符串,并使控件足够大以显示所有文本。wxSta

2、ticText窗口不接受或响应鼠标事件。静态文本导入wxclastatictextframe(wxframe):define(self):wxfraeinit(self,none,rsquostatictexamplersquo,size=(,)panel=wxpanel(self,#这是一个基本的静态文本Wxstatictext(Panel,Thisisanexamplefstatictext,()#静态文本rev=Wxstatictext(Panel,StatistextThreadedColors,(,)revsetforegundercolour(lsquowhitels)revset

3、backgroundcolour(lsquoblack静态文本#静态文本WxSignRight)RIghtsetForeGroundColoUr(lsquowhitels)RIghtsetBackgroundColoUr(lsquoblack)指定新字体的静态文本str=youcanalsochangethetext=wxstatictext(pane,lstr,(,)font=wxfont(,wxdeclarative,wxitalic,WxNORMAL)textSetFont(font)#显示多行文本静态文本wxStaticText(panel,)#显示对齐的多行文本wxStaticTex

4、t(panel,MullietextxtancanalsonberalignednnevenwithWxALIGNLEFT:文本在小部件中左对齐。这是默认样式。WxALIGNRIGHT:文本在小部件中右对齐。WxSTNOAUTORESIZE:如果使用这种样式,静态文本控件在使用SetLabel()更改文本后不会调整自身的大小。您应该使用居中或右对齐控制来保持对齐。输入文本不仅仅是显示静态文本。我们将开始讨论输入文本时的用户交互。WxPython的文本字段小部件类是wxTextCtrl,它允许单行和多行文本输入。它还可以用作密码输入控件来隐藏按下的键。如果平台支持,WxTextCtrl还通过使用

5、已定义和显示的多文本样式来提供格式丰富的文本显示。输入文本importwxclassitextframe(wxframe):define(self):wxfraeinit(self,none,rsquotextentryexamplerlsquo,size=(,)panel=wxpanel(self),basiclabel=wxstaticext(panel,basiccontrol:)输入文本basictext=wxtexttrl(panel,irsquoventeredsometext!,size=(,)BASICetxtSetInsertionPoint()PwdlAbel=WxStat

6、icText(panel,Password:)PwdText=WxtextCTRL(panel,Password,size=(,),Style=wxTEPASSWORD)输入TEXTsizer=WXFLEXGRIDZIER(COLS=,HGAP=,VGAP=)sizeraddmany(BASICLABEL,BASICTEXT,pwdLabel,PwdText)panelsetsizer(sizer)ifNAME=rsquomain:app=wxpysimpleapp()frame=textframe()验证器参数用于wxValidator。验证器通常用于过滤数据,以确保只有要接受的数据才能被键

7、入。输入文本附加文本:在末尾添加文本。Clear():将控件中的文本重置为。并生成文本更新事件。仿真按键(事件):生成一个关键事件。插入与事件关联的控件,就像实际的键已经出现一样。获取或设置插入点所在的索引值,作为一个整数。控件开始于。输入文本GetRange队,到):返回控件中位置索引范围内的to):字符串。getselection()getstringselection()setselection(from,getselection()以元组的形式返回当前选定文本的起始位置的索引值(开始和结束)。GetStringSelection(汰取选定的字符串。设置选择(从,到)设置选定的文本。Ge

8、tValue(眼置值(值):设置值()更改控件中的所有文本。GetValue(泅回控件中的所有字符串。移除(从,到):移除指定范围的文本。替换(从、到、值):用给定的值替换指定范围内的文本。这可以改变文本的长度。WriteText(文本):类似于AppendText(),只有写入的文本被放置在当前插入点。多行或样式文本控件使用wxTEMULTILINE样式标记创建多行文本控件。如果本地窗口控件支持样式,则可以更改由控件管理的文本的字体和颜色样式。这有时被称为格式丰富的文本。为其他平台设置样式的调用被忽略。多行或多样式文本控件importwxclassitextframe(wxframe):de

9、fine(self):wxfraeinit(self,none,rsquotextentryexamplerlsquo,size=(,)panel=wxpanel(self),multillabel=wxstaticText(panel,Multiline)MultiText=wxtextCTrl(panel,hereisaloooooooooooooonglioftextsetinthecontrolnn,Seethatitwrapped,Andthatthislineisafterablank,size=(,),style=wxtemultiline)True)#创建字体多行或样式文本控件

10、RichTextSetStyle(,WxtExtattr(Blue,WxColour,f)#设置样式大小器=wxflexgridsizer(cols=,hgap=,vgap=)Sizeradmany(multilatebel,multitext,richlabel,RichText)panelSetSizer(sizer侈行或样式文本控件,如果名称=rsquomain:app=wxpysimpleapp()frame=textframe()frameshow()appmainloop()多行或样式文本控件具有另一个样式标记如果文本控件是多行的,并且如果样式被声明为长行不会自动换行,那么水平滚动

11、条将会显示。这个选项在GTK被忽略了。WxTEAUTOURL:如果设置了富文本选项,并且平台支持它,则当用户的鼠标悬停或点击文本中的一个URL时,此样式将导致生成一个事件。wxtedontwrap:wxhscroll的别名。多行或多样式文本控件wxTELINEWRAP:用字符换行表示过长的行。一些操作系统可能会忽略这种风格。WxTEMULTILINE:文本控件将显示多行。WxTERICH:用作基本小部件的窗口富文本控件。这允许使用样式文本。WxTERICH:在Windows下使用,使用最新版本的富文本控件作为基本小部件。WxTEWORDWRAP:对于过长的行,使用单词绑定换行符。许多操作系统忽

12、略了这种风格。wxTextCtrl小部件中多行或样式文本控件使用的文本样式是wxTextAttr类的一个示例。作为对文本事件的响应,有一个由您可能想要使用的wxTextCtrl小部件生成的命令事件。您需要将相关事件传递给Bind方法来捕获事件,如下所示:framebind(wxEVTTEXT、frameTEXT、text)响应文本事件EVTTEXT:当控件中的文本发生更改时,会生成此事件。当文本由于用户输入或程序中使用的SetValue(刖更改时,会发生此事件。当用户在wxTEPROCESSENTER样式的文本控件中按下回车键时,会发生此事件。如果在Windows系统上设置了wxTERICH或

13、wxTERICH样式,并且还设置了wxTEAUTOURL样式,则当文本控件内的URL上发生鼠标事件时,会触发该事件。如果使用SetMaxLength()指定控件的最大长度,则当用户尝试输入更长的字符串时会触发事件。例如,您可以使用它向用户显示警告消息。按钮在wxPython中有许多不同类型的按钮。在本节中,我们将讨论文本按钮、位图按钮、切换按钮和通用按钮。按钮导入wxclassbuttonframe(wxframe):定义(self):wxfraeinit(self,none,rsquobuttonexamplelersquo,size=(,)panel=wxpanel(self),selfb

14、utton=wxbutton(panel,hello,pos=(,)selfbind(wxevtbutton,selfonclick,selfButton)selfbuttonesetdefault(族钮变形单击(self,event):Selfbuttonsetlabel(Clicked)ifName=rsquomain:app=wxPySimpleApp()frame=1当程序运行时,可以使用设置标签()进行更改,并使用设置标签()获取。GetDefaultSize()返回系统默认按钮的大小(对于帧之间的一致性很有用)设置默认值()将该按钮设置为对话框或帧的默认按钮。默认按钮的绘图不同于其

15、他按钮。当对话框获得焦点时,通常通过按回车键激活。buttonwxButton类有一个跨平台的样式标记:wxBUEXACTFIT。如果定义了此标记,按钮将不会将系统的默认大小作为最小大小,而是将仅填充标签的大小作为最小大小。如果本地小部件支持它,您可以使用标签WXBULUEFT、WXBURIGHT、WXBUTOP和wxBUBOTTOM来更改按钮中标签的对齐方式。每个标签将标签与边缘对齐,这可以通过标签的名称来知道。正如我们在第一部分中所讨论的,wxButton在被命中时会触发一个命令事件。事件类型为EVTBUTTON位图按钮使用wxBitmapButton中的类WxBitmapButton创建

16、位图按钮。处理wxBitmapButton的代码非常类似于通用按钮的代码。位图按钮导入wxclastbitmapbuttonframe(wxframe):define(self):wxfraeinit(self,none,rsquobitmapbuttonexamplelersquo,size=(,)panel=wxpanel(self),bmp=wximage(bitmapbmp,wxbitmaptypebmp)转换为位图()selfbutton=wxbitmapbutton(panel,bmp,pos=(,)位图按钮自绑定(wxevtbutton,selfonclick,Selfbutto

17、nsetdefault()selfbutton=wxbitmapbuttontogglebutton看起来很像一个文本按钮,但是它的行为更像一个复选框。其选择或非选择状态是可视的。换句话说,当你按下一个按钮时,它会一直按下去,直到你再次按下它。开关按钮与其父wxToggleButton之间只有c个区别:、wxToggleButton在被点击时发送EVTTOGGLEBUTTON事件。、wxToggleButton有GetValue(心口SetValue(为法,它们处理按钮的二进制状态。通用按钮通用按钮是一个完全在Python中重新实现的按钮小部件,避免使用本地系统小部件。它的父类是wxlibbu

18、ttonsGenButton。常规按钮包括常规位图和开关按钮。使用通用按钮的原因是:、通用按钮比本地按钮具有更好的跨平台外观。另一方面,通用按钮可能看起来与特定系统上的本地按钮略有不同。使用通用按钮的原因、使用通用按钮,您可以更好地控制其外观,并可以更改属性,如D斜角的宽度和颜色,这可能是本地控件所不允许的。、通用按钮类允许合并功能,而wxWidget按钮不允许。例如,GenBitmapTextButton允许文本标签和位图的组合。GenBitmapToggleButton实现了个位图开关按钮。、如果您正在创建一个按钮类,使用通用按钮会更容易。因为它的代码和参数是用Python编写的,所以在创

19、建新的子类时最好检查并覆盖它们。常规按钮ImportWXimportWXlibuttonSassButtonSclGeneraICButtonFRAME(WXFRAME):DEFINIT(SELF):WXFRAMEIT(SELF,NONE,RSQUOTGENERICBUTTONEXAMPLERSKO,SIZE=(,)panel=wxpanel(self),sizer=wxflexgridsizer(,)b=wxbutton(panel,awxbutton)通用按钮bsetdefault()SIZERAdd(B)B=wxButton(Panel,UndefaultwxButton)SiZerad

20、d(B)SiZeradd()WxBitmapTypeBump)转换为位图()b=ButtonsGenBitmapButton(面板,BMP)#通用位图按钮大小添加(b)b=ButtonsGenBitmapToggleButton(JM板,Bmp)#通用位图开关按钮大小显示(b)b=buttonsgenbitmaptextbutton面板,BMP,位图文本,大小=(,)#位图文本按钮bsetusefocusindicator(false)大小显示(b)通用按钮b=buttonsGenToggleButton面板,ToggleButton)#通用开关wxMenuBar类管理菜单栏本身,而wxMenu管理单独的下拉菜单或弹出菜单。当

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论