专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

wxPython基本控件之文本输入控件TextCtrl

  实战wxPython系列033
  文本控件wx。TextCtrl是用来显示和编辑文本的控件,它支持单行和多行的文本编辑。在某些平台上,支持给文本控件中的文本设置一些简单的格式和风格。
  一、wx。TextCtrl简介
  wx。TextCtrl文本格式
  在多行文本的情况下,wx。TextCtrl总是将文本存储为以’’字符分隔成多行文本序列(就是说即使在非Unix平台上也以Unix文本格式存储)。这样做的好处是允许用户代码忽略平台之间的差异,但同时也付出一定的代价是控件中的索引问题。例如由GetInsertionPoint或GetSelection返回的索引,不能用作GetValue返回的字符串的索引,因为对于使用rn作为分隔符的平台(如Windows),它们将略微偏离。反之,如果需要在上述函数的帮助下从控件中获得两个索引之间的一个子字符串,则应该使用GetRange,索引本身只能传递给其他方法,例如SetInsertionPoint或SetSelection。总之,在多行样式下,不要使用wx。TextCtrl返回的索引值来获取索引所包含的字符串,该索引值仅作为参数传递给其他的wx。TextCtrl方法。
  对于单行文本的情况下,控件中的索引确实对应于值字符串中的位置。
  wx。TextCtrl文本样式
  在多行文本的情况下,wx。TextCtrl提供了为其中单个字符设置字体和颜色的功能(注:在Windows下TERICH样式下需要这样的文本样式支持)。使用这些样式的方法是,在插入文本之前先调用SetDefaultStyle方法,或者在之后调用SetStyle来更改控件的文本样式。在这两种情况下,如果样式没有指定某些属性(例如,如果只想设置文本颜色,不更改字体和文本背景),则将使用默认样式的值。如果没有默认样式,则使用文本控件本身的属性。
  下面的代码演示了如何使用SetDefaultStyle来改变文本样式:text。SetDefaultStyle(wx。TextAttr(wx。RED))text。AppendText(Redtext)text。SetDefaultStyle(wx。TextAttr(wx。NullColour,wx。LIGHTGREY))text。AppendText(Redongreytext)text。SetDefaultStyle(wx。TextAttr(wx。BLUE))text。AppendText(Blueongreytext)
  wx。TextCtrl窗口样式wx。TEPROCESSENTER:控件将生成事件wx。EVTTEXTENTER,该事件可以由程序处理。如果未指定这个样式,按Enter键要么由控件内部处理,要么用于激活对话框的默认按钮(如果有的话)。wx。TEPROCESSTAB:通常,TAB键用于键盘导航,在控制中按下它将焦点切换到下一个。设置这种样式后,如果没有对制表符进行其他处理(例如通过wx。EVTCHAR事件处理程序),则将一个文本制表符插入控件中。wx。TEMULTILINE:文本控件允许多行。如果未指定此样式,则不应在控件值中使用换行字符。wx。TEPASSWORD:文本将以星号显示。wx。TEREADONLY:文本不可编辑。wx。TERICH:在MSW下使用富文本控件,这允许控件中有超过64KB的文本(这种样式仅适用于Windows)。wx。TERICH2:在MSW下使用富文本控制2。0或更高版本(这种样式仅适用于Windows)。wx。TEAUTOURL:突出显示url并在鼠标事件发生时生成TextUrlEvents。wx。TENOHIDESEL:默认情况下,文本控件在没有焦点时不显示所选内容,使用这个样式强制它始终显示它(这种样式仅适用于Windows)。wx。HSCROLL:将创建并使用水平滚动条,这样文本就不会被换行。wx。TENOVSCROLL:仅用于多行控件,永远不会创建垂直滚动条。wx。TELEFT:控件中的文本将左对齐(默认值)。wx。TECENTRE:控件中的文本将居中。wx。TERIGHT:控件中的文本将右对齐。wx。TEDONTWRAP:和wx。HSCROLL一样,文本不换行,显示水平滚动条来代替换行。wx。TECHARWRAP:仅适用于多行控件,如果文本太长,则在可能的位置进行字符回绕。wx。TEWORDWRAP:仅适用于多行控件,如果文本太长,则在可能的位置进行单词回绕。TECAPITALIZE:仅对于多行控件,在单词边界处换行,如果单词比窗口宽度长,则在任何其他字符处换行(这是默认值)。
  wx。TextCtrl发出的事件EVTTEXT:响应一个wx。EVTTEXT事件,当文本发生变化时生成。注意,当文本控件的内容发生变化时,这个事件将被发送。EVTTEXTENTER:响应wx。EVTTEXTENTER事件,当文本控件设置了wx。TEPROCESSENTER样式时,在文本控件中按下enter键时生成该事件EVTTEXTURL:鼠标事件发生在文本控件中的URL上时生成此事件。EVTTEXTMAXLEN:当用户试图在控件中输入比wx。TextCtrl。SetMaxLength设置的限制更多的文本时,将生成此事件。
  wx。TextCtrl常用方法
  文本控件wx。TextCtrl的许多方法都在类wx。TextEntry中(关于wx。TextEntry,请参考前文基本控件之下拉列表框ComboBox。DiscardEdits(self):重置内部修改标志,就像保存了当前更改一样。EmptyUndoBuffer(self):删除undo历史记录(仅适用部分平台)。EmulateKeyPress(self,event):本方法在文本控件中发生给定键事件时将插入的字符插入到控件中。GetDefaultStyle(self):返回新文本当前使用的样式。GetLineLength(self,lineNo):获取指定行的长度,不包括任何尾随换行符。GetLineText(self,lineNo):返回文本控件中给定行的内容,不包括任何尾随换行符。GetNumberOfLines(self):返回文本控件缓冲区中的行数。GetStyle(self,position,style):返回文本控件中指定位置的样式(仅适用部分平台)。HideNativeCaret(self):隐藏小部件的本机插入符号(仅适用Windows)。HitTestPos(self,pt):查找字符在指定点上的位置。HitTest(self,pt):查找字符在指定点的行和列。IsModified(self):如果文本已被用户修改,则返回True。IsMultiLine(self):如果是多行编辑控件则返回True,否则返回False。IsSingleLine(self):如果是单行编辑控件则返回True,否则返回False。LoadFile(self,filename,fileTypeTEXTTYPEANY):加载并显示文件(如果它存在)。MarkDirty(self):将文本标记为已修改(dirty)。PositionToCoords(self,pos):将给定的文本位置转换为以像素为单位的客户端坐标。本方法允许查找在文本控件中显示的给定位置上的字符的位置。PositionToXY(self,pos):将给定位置转换为从零开始的列、行号对。SaveFile(self,filename,fileTypeTEXTTYPEANY):将控件的内容保存在文本文件中。SetDefaultStyle(self,style):更改将添加到控件的新文本所使用的默认样式。SetModified(self,modified):标记控件内容是否已被用户修改。SetStyle(self,start,end,style):更改给定范围的样式。如果没有设置style中的任何属性,则使用GetDefaultStyle中的相应属性。ShowNativeCaret(self,showTrue):显示小部件的本机插入符号(仅适用Windows)。ShowPosition(self,pos):使包含给定位置的行可见。XYToPosition(self,x,y):将给定的从零开始的列号和行号转换为一个位置。flush(self):filelike兼容。write(self,text):将文本添加到TextCtrl控件中,filelike兼容。
  图1:wx。TextCtrl类继承关系
  二、wx。TextCtrl演示
  下面的代码演示如何使用wx。TextCtrl。文本编辑框(wx。TextCtrl)importwxclassSampleTextCtrl(wx。Frame):definit(self,args,kw):super(SampleTextCtrl,self)。init(args,kw)self。InitUi()defInitUi(self):设置标题self。SetTitle(实战wxPython:TextCtrl演示)设置窗口尺寸self。SetSize(480,320)panelwx。Panel(self)单行文本wx。StaticText(panel,label单行文本:,pos(20,10))self。txtSinglewx。TextCtrl(panel,wx。IDANY,pos(100,10),size(260,24))多行文本wx。StaticText(panel,label多行文本:,pos(20,50))self。txtMultiwx。TextCtrl(panel,wx。IDANY,pos(100,50),size(260,100),stylewx。TEMULTILINE)富文本wx。StaticText(panel,label富文本:,pos(20,160))self。txtRichwx。TextCtrl(panel,wx。IDANY,pos(100,160),size(260,100),stylewx。TERICHwx。TEMULTILINE)添加文本按钮btnAppendwx。Button(panel,label添加,pos(380,10))btnAppend。Bind(wx。EVTBUTTON,self。OnAppendText)清除文本按钮btnClearwx。Button(panel,label清除,pos(380,236))btnClear。Bind(wx。EVTBUTTON,self。OnClearText)self。Centre()将单行文本中输入的文字添加到多行和富文本编辑框中defOnAppendText(self,e):txtself。txtSingle。GetValue()if(len(txt)0):self。txtMulti。AppendText(txt)self。txtMulti。AppendText()self。txtRich。AppendText(txt)self。txtRich。AppendText()defOnClearText(self,e):self。txtSingle。Clear()self。txtMulti。Clear()self。txtRich。Clear()defmain():appwx。App()sampleSampleTextCtrl(None)sample。Show()app。MainLoop()ifnamemain:main()
  上述代码演示了如何创建单文本编辑框,多文本编辑框和富文本编辑框,然后可以在单文本框中输入文本,点击添加按钮,将输入的文本追加到多文本编辑框和富文本编辑框中。点击清除按钮将清除所有文本框中的文本。
  图2:wx。TextCtrl演示
  三、本文知识点了解和使用wx。TextCtrl。了解在不同平台wx。TextCtrl实现的功能有差异。
  前一篇:wxPython基本控件之下拉列表框ComboBox
  请关注,评论,收藏,点赞,和转发。

德国法兰克福回国机票以下目前法兰克福回国航班,目前可以申请到给到大家的行程洋东航MU220法兰克福上海每周二14307151东航MU7158法兰克福杭州每周一17459451国航CA432法兰克福成都传说中的天涯海角其实有时候我也佩服自己,靠着业余的技术能拍出如此好看的风景照片。此地位于浙江省温州市苍南县赤溪镇房车营地。其实本人摄影挺业余的,哈哈!这里可以露营,烧烤,或者带上你最喜欢的人。最好早春二月,有钱没钱,记得吃这6种养阳蔬菜,能量满满过春天早春二月,有钱没钱,记得吃这6种养阳蔬菜,能量满满过春天!俗话说一年之计在于春,一日之计在于晨,现在已经是2月底了,正是早春的时候,要想身体在一年内都能量满满,一定要在春天把身体养中医为什么不主张常喝牛奶?很多人或许不明白,看完或许能了解牛奶是一种常见的饮品,以前各方面物资比较匮乏,喝牛奶是一件比较奢侈的事情,现如今生活水平有了大幅度提高,牛奶已经成为家家户户必备的饮品。牛奶中含有大量的钙质以及丰富的蛋白质和氨基酸你会穿卫衣吗卫衣,相信每个女孩子都会有几件得意的收藏品,但你确定自己真的会搭配穿着吗?怎么样才能实现卫衣价值的最大化呢,下面来跟着小编,给你分享一些小技巧吧!第一种版型如果太合身,再加上插兜的写就随意了最近睡眠很不好,也是很没辙,整晚都很清醒。即便是连续好多天都没有睡好,晚上也依然不想睡,眼泪也跟着变多了。年纪大了就是容易伤感。为了拯救睡眠,断了茶水,改成白水或花茶。希望能有一些想买98吋大电视请先关注这六个问题98寸电视极简电视柜自装自设极简风198寸电视的型号?98QE6E2电视离墙的距离?沙发离墙距离是3。88米,这个尺寸的电视建议4米左右的墙间距比较适合。3电视的尺寸?宽2181。买的真值!10公斤洗烘一体变频全自动滚筒洗衣机,好用不贵前段时间家里用了几年的老式波轮洗衣机突然坏了,导致那几天家里的衣物,都是媳妇手洗,一家四口,每天那么多需要清洗衣物,这么冷的天气,冰冷的自来水,媳妇用手在洗衣盆里反复揉搓,容易感冒为何尿毒症越来越多?医生坦言不是烟酒,多数是这3件事害的我国成年人慢性肾脏病的患病率已达10。8,其中,慢性肾衰患者总数估计在100万例左右,慢性肾衰的终末期就是尿毒症。01hr你经常憋尿吗?肾脏是人体不可缺少的重要器官,是一部动力强大父母以身作则是孩子成长的关键曾参是我国春秋时期著名的思想家,孔子的主要弟子之一。他向来强调做人要诚实,以身作则,并且以此来教导自己的子女。在他看来,父母是孩子的榜样,父母的一言一行,对孩子的发展都有着极大的影优秀的妈妈是引领孩子的指南针,糟糕的妈妈是毁掉孩子的刽子手这才是家庭教育教育听我说教育我来说教育头条作家莫言在获得诺贝尔奖时曾说每个人从生下来最早接受的就是家庭教育,受到影响最大的也是家庭教育。而在家庭教育中,对孩子影响最大的人就是母亲。
这些年那一刻宝妈们什么样?小时候,有很多梦想,长大了要当飞行员,当老师,当医生初中时,要当明星,当歌星,当主持人高中时,要考个好大学,当一名大学教授,当一名专家大学了想着以后毕业了赚好多钱,拥有自己的佣人,没有目标的生活很无趣国庆节七天假期,我原计划多写一点东西,至少也得把2018年去日本旅游的故事写出来它一直属于我的一个写作计划。但由于公众号又被禁言,也就什么都不想写了。刚刚看了一段视频,说我们都是历放下你的架子做人就舒适了不对生活抬杠,不妖魔化诚实正气,做人明明白白坦坦荡荡,再怎么看不惯不舒服,也会被丝丝入扣的阳光包围,使其暖阳笑脸。网络图片不要上了台阶就高高在上,或者职场生涯落幕还在苦涩于曾经的风直面问题持续去发现和看见更多关于我们自己关于外部世界的内容,是一种重要的自我成长方式。我们总会从我们所处的生活中获得一些经验,无论何种生活。(此处已添加书籍卡片,请到今日头条客户端查看)保生活中惊天大逆转的启发生活中,若惊天大逆转出现了,我们就不得不考虑它出现了的事实。每个人都不得不面对这些问题。在面对这种问题时,我认为,既然如何,一般来讲,我们都必须务必慎重的考虑考虑。带着这些问题,我小学生作文难忘的中秋节中秋节,是一个幸福美好的日子,也是一年一度的传统节日。在这一天晚上,每一家都灯火通明,对酒当歌,浓浓月饼的香味伴着菊花茶的清醇,在整座城市上空飘荡今年的中秋节,我家更是热闹异常,因NBA一夜6大交易动态勇士决定放弃维金斯哈登首次透露降薪原因一基德采访表示东契奇新赛季目标就是拿下MVP今天独行侠全队进行了集体合练,在训练期间主教练基德参加了媒体的采访,谈到了新赛季球队的目标,基德表示我们肯定是想走的更远,我们的阵容在休稻盛和夫什么是人与人之间的能量定律今天我们来分享一下稻盛和夫先生的能量定律。明白了这个道理,可能会让你更睿智。稻盛和夫的能量定律1能量比你低的人怀疑你否定你嫉妒你攻击你批评你。2能量同频的人喜欢你肯定你欣赏你珍惜你和极速版使用体验这2款APP我都使用过,那么它们有哪些各自的特点呢?打开手机应用中心,搜今日头条可以找到这2种应用的安装,那么应该选择安装哪一款呢?今日头条极速版APP以及今日头条APP的设计规则机器人在英国参议院演讲时睡着了人形机器人艾达成为第一个在英国参议院发言的机器人,但在睡着后中途被打断。爱达机器人因为技术问题睡着了。视频英国广播公司AiDa的创造者AidanMeller不得不重启机器人,因为技单手轻松掌控!新款4。6英寸小屏迷你手机上市,升降式前摄是亮点在用户将关注放到更先进屏幕材质是否真正护眼等能本质改善体验的方面的时候,国产手机屏幕越做越大的风气终于主动刹车,手机和平板电脑之间的边界得到保留。时下国内手机市场的主流屏幕尺寸大部
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网