纠纷奇闻社交美文家庭
投稿投诉
家庭城市
爱好生活
创业男女
能力餐饮
美文职业
心理周易
母婴奇趣
两性技能
社交传统
新闻范文
工作个人
思考社会
作文职场
家居中考
兴趣安全
解密魅力
奇闻笑话
写作笔记
阅读企业
饮食时事
纠纷案例
初中历史
说说童话
乐趣治疗

wxPython高级控件之树状控件TreeCtrl

6月2日 遭人厌投稿
  实战wxPython系列041
  树形控件wx。TreeCtrl将信息表示为层次结构,其中的项可以展开以显示更多的项。
  一、树状控件wx。TreeCtrl
  wx。TreeCtrl继承自wx。WithImages类,因此提供了将图像与控件项关联的函数。通过wx。WithImages可以使每个项使用索引来引用它的图像。除正常图像外,用上述方法处理wx。TreeCtrl还提供了可选的状态图像,可用于指示项目的一些附加状态,例如选中或未选中状态。
  wx。TreeCtrl支持的窗口样式:wx。TREDITLABELS:子项文本是否可编辑。wx。TRNOBUTTONS:不必显示用于展开或者合并子项的按钮。wx。TRHASBUTTONS:显示用于展开或者合并子项的按钮。wx。TRTWISTBUTTONS:选择按钮的替代样式,并显示旋转(扭转)箭头。目前这种风格只在微软WindowsVista和以后的Windows版本下实现,在其他平台下被忽略。wx。TRNOLINES:不必显示用于表示层级关系的垂直虚线。wx。TRFULLROWHIGHLIGHT:当选中某个子项的时候高亮显示整行(在windows平台上,除非设置了wx。TRNOLINES,否则这个类型将被忽略)wx。TRLINESATROOT:不必显示根节点之间的连线。这个类型只有在设置wx。TRHIDEROOT并且没有设置wx。TRNOLINES的时候有效。wx。TRHIDEROOT:不显示根节点,这将导致第一层的字节点成为一系列根节点。wx。TRROWLINES:使用这个类型在已显示的行之间绘制一个高对比的边界。wx。TRHASVARIABLEROWHEIGHT:设置这个类型允许各行采用不同的高度,否则各行都将采用和最大的行高同样的高度。这个类仅适用于树状控件的标准实现(而非各个平台的原生实现)。wx。TRSINGLE:单选模式。wx。TRMULTIPLE:多选模式。wx。TRDEFAULTSTYLE:默认窗口样式。
  wx。TreeCtrl发出的事件:EVTTREEBEGINDRAG:鼠标左键拖动时产生。EVTTREEBEGINRDRAG:鼠标右键拖动时产生。EVTTREEENDDRAG:鼠标左键或右键结束拖拽时产生。EVTTREEBEGINLABELEDIT:开始编辑标签时产生。可以通过调用Veto()来阻止事件生成。EVTTREEENDLABELEDIT:结束编辑标签时产生。可以通过调用Veto()来阻止事件生成。EVTTREEDELETEITEM:当某个子项被删除的时产生。EVTTREEGETINFO:当某个子项的数据被请求的时产生。EVTTREESETINFO:当某个子项的数据被设置的时产生。EVTTREEITEMACTIVATED:当某个子项被激活(双击或者使用键盘选择)的时产生。EVTTREEITEMCOLLAPSED:给定的子项已被折叠(合并)的时产生。EVTTREEITEMCOLLAPSING:给定的子项即将折叠(合并)的时产生。可以通过调用Veto()来阻止事件生成。EVTTREEITEMEXPANDED:给定子项已被展开的时产生。EVTTREEITEMEXPANDING:给定子项即将展开的时产生。可以通过调用Veto()来阻止事件生成。EVTTREEITEMRIGHTCLICK:当鼠标右键单击了子项时产生。EVTTREEITEMMIDDLECLICK:当鼠标中键单击了子项时产生。EVTTREESELCHANGED:选中的子项发生变化以后(新的子项被选中或者旧的选中项不被选中的时候)产生。EVTTREESELCHANGING:选中的子项即将发生变化的时产生。可以通过调用Veto()来阻止事件生成。EVTTREEKEYDOWN:当针对该树状控件的键盘事件发生时产生。EVTTREEITEMGETTOOLTIP:设置子项的提示信息时产生(仅适用Windows)。EVTTREEITEMMENU:当鼠标右键或者使用菜单键激活子项的上下文菜单时产生。EVTTREESTATEIMAGECLICK:当子项的状态图像被点击时产生。
  wx。TreeCtrl常用方法:AddRoot(self,text,image1,selImage1,dataNone):将根节点添加到树中,返回新子项。AppendItem(self,parent,text,image1,selImage1,dataNone):将一个子项目添加到由父分支标识的分支末尾,返回一个新的子项id。Collapse(self,item):折叠给定的子项。CollapseAll(self):折叠根项。CollapseAllChildren(self,item):递归地折叠指定子项及其所有子项。CollapseAndReset(self,item):折叠指定项并删除该子项的所有子项。Delete(self,item):删除指定的子项。DeleteAllItems(self):删除控件的所有子项。DeleteChildren(self,item):删除给定子项的所有子项(不删除子项本身)。EditLabel(self,item):开始编辑给定子项的标签信息。EndEditLabel(self,item,discardChangesFalse):结束编辑给定子项的标签信息。EnsureVisible(self,item):滚动和或展开给定子项以确保给定的子项是可见的。Expand(self,item):展开给定的子项。ExpandAll(self):展开树形控件的所有子项。ExpandAllChildren(self,item):递归展开给定项及其所有子项。GetChildrenCount(self,item,recursivelyTrue):返回分支中的子项数。GetCount(self):返回控件的子项数。GetItemData(self,item):返回与指定子项关联的树形控件项数据。GetItemText(self,item):返回指定子项的标签信息。GetRootItem(self):返回树形控件的根项。GetSelection(self):返回选定项,如果没有选定项则返回无效项。IsEmpty(self):如果控件为空(即没有项,甚至没有根项)则返回True。IsExpanded(self,item):如果指定子项是展开状态,则返回True(只有当它有子项时才有意义)。IsSelected(self,item):如果指定子项被选中则返回True。IsVisible(self,item):如果指定子项屏幕可见则返回True。SelectChildren(self,parent):选择给定父节点的所有直接子节点。此函数只能与多选控件一起使用。SelectItem(self,item,selectTrue):选择给定的子项。在多选控件中,如果select的值为False,也可用于取消选择当前选定的项。SetItemData(self,item,data):设置指定项的客户区数据。SetItemText(self,item,text):设置指定项的标签信息。Unselect(self):取消当前选定项(如果有)。
  图1:wx。TreeCtrl类继承关系
  二、wx。TreeCtrl演示树形控件(wx。TreeCtrl)importwxclassSampleTreeCtrl(wx。Frame):definit(self,args,kw):super(SampleTreeCtrl,self)。init(args,kw)self。InitUi()defInitUi(self):设置标题self。SetTitle(实战wxPython:TreeCtrl演示)设置窗口尺寸self。SetSize(400,320)panelwx。Panel(self)vboxwx。BoxSizer(wx。VERTICAL)创建树形控件self。treectrlwx。TreeCtrl(panel,wx。IDANY,wx。DefaultPosition,(1,1),wx。TRHIDEROOTwx。TRHASBUTTONS)显示树形控件选中项的名称self。infowx。StaticText(panel,wx。IDANY,,wx。DefaultPosition,(1,40),stylewx。ALIGNCENTER)给树形控件添加数据rootself。treectrl。AddRoot(程序员)osself。treectrl。AppendItem(root,操作系统);proglangself。treectrl。AppendItem(root,编程语言)toolkitself。treectrl。AppendItem(root,工具包)self。treectrl。AppendItem(os,Windows)self。treectrl。AppendItem(os,Ubuntu)self。treectrl。AppendItem(os,Android)compilelangself。treectrl。AppendItem(proglang,编译语言)shelllangself。treectrl。AppendItem(proglang,脚本语言)self。treectrl。AppendItem(compilelang,C)self。treectrl。AppendItem(compilelang,C)self。treectrl。AppendItem(compilelang,JAVA)self。treectrl。AppendItem(shelllang,JS)self。treectrl。AppendItem(shelllang,PHP)self。treectrl。AppendItem(shelllang,Python)self。treectrl。AppendItem(shelllang,Lua)self。treectrl。AppendItem(toolkit,QT)self。treectrl。AppendItem(toolkit,wxWidgets)self。treectrl。AppendItem(toolkit,Gtk)self。treectrl。AppendItem(toolkit,Swing)self。treectrl。ExpandAll()事件处理self。treectrl。Bind(wx。EVTTREESELCHANGED,self。OnSelChanged)vbox。Add(self。treectrl,1,wx。EXPAND,border10)vbox。Add(self。info)panel。SetSizer(vbox)self。Centre()defOnSelChanged(self,e):iteme。GetItem()self。info。SetLabel(self。treectrl。GetItemText(item))defmain():appwx。App()sampleSampleTreeCtrl(None)sample。Show()app。MainLoop()
  上述代码演示如何创建一个wx。TreeCtrl控件,并给控件添加一些子项,当我们用鼠标选择某个子项时,该子项的标签信息将被显示在下面的静态文本控件上。
  图2:wx。TreeCtrl演示
  三、本文知识点了解和使用wx。TreeCtrl。
  前一篇:wxPython高级控件之列表框ListCtrl
  请关注,评论,收藏,点赞,和转发。
投诉 评论 转载

不忘国耻振兴中华圆明园始建于1709年,它由圆明园,万春园和长春园三园组成。雍正继位后,把圆明园大规模扩建。后来圆明园又经嘉庆、道光、咸丰几位皇帝的经营,才建筑成为一座规模壮观,景色旖旎的宫苑……wxPython高级控件之树状控件TreeCtrl实战wxPython系列041树形控件wx。TreeCtrl将信息表示为层次结构,其中的项可以展开以显示更多的项。一、树状控件wx。TreeCtrlwx。Tr……鸿蒙OS前置6000万像素,现已跌至2369元,华为旗舰售价大家好,我是唐三,随着手机数码行业的高速发展,拍照实力越强的手机往往更容易获得消费者的认可,在我们日常生活的使用中,很多人都有用影像来记录生活点点滴滴的习惯,而在外地工作的朋友……下周中字头证券白酒保险和银行板块走势推演(含视频)暖冬生活记这篇文章主要说几个下周看好的几个板块,这几个板块都是权重板块,但下周都有机会,都是看多,下面我分别说说理由。1、中字头:该板块前期构建了日线级别的上涨走势……关于公布广西非遗形象体验店和广西非遗美食体验店名单的通知广西壮族自治区文化和旅游厅办公室关于公布广西非遗形象体验店和广西非遗美食体验店名单的通知各市文化和旅游行政管理部门:我厅于2022年5月至12月在全区范围内开展了广……第2个晋级8强的附加赛球队!中国球队遭超远绝杀,陈盈骏2057月19日凌晨,男篮亚洲杯14决赛关键之战,中国台北队面对约旦,打得非常抢眼。第一节打出2523、第二届打出2419,半场就建立7分优势。尽管第三节被对手追到1分分差,中国台北……央视转播计划有变,女排亚洲杯首战韩国,吴梦洁王逸凡领衔冲冠央视转播计划有变,女排亚洲杯首战韩国,吴梦洁王逸凡领衔冲冠。哈喽大家好,欢迎收看本期内容,记得点赞关注,这些内容我们来聊聊中国女排。2022年女排亚洲杯的比赛将在8月21号正式……每位上班族都建议准备一件纯色马甲!百搭又显瘦,气场与气质兼得有些公司对员工的着装有要求,穿得太花哨,打扮得太浮夸,就会折损个人魅力,单品的选用最好以简洁的款式为主。每一位上班族都可以在春季准备一件纯色马甲,叠加各种单品都不违和,十分百搭……郑智离开广州队的原因曝光,其合理诉求无法得到广州队满足目前,从媒体的报道来看,新赛季郑智大概率会离开广州队了,在上赛季广州队遭遇到严重危机的情况下,第一阶段结束之后与卡纳瓦罗解约,第二阶段郑智担任起了球队的执行主帅,郑智在第二阶段……爱吃植物益母草要你经调肤白你见过这种植物吗?如果你经常野外旅游、乡村田野游玩或者喜欢吃野菜,或者你喜欢植物,或者你喜欢用中草药养生预防疾病,你会觉得很眼熟,可能不用反应几秒钟,就在脑海里大喊,就是……为收购动视暴雪,微软贬低使命召唤等,遭索尼等抗议微软为了淡化其试图收购动视暴雪对各种国际监管机构可能产生的影响,辩称花费数十亿美元购买的《使命召唤》发行商实际上并没有生产任何可以被认为是必不可少的游戏。与此同时,索尼正在回击……篮网谁的问题最大?OK,最大的问题是欧文,但欧文的问题已经是既成事实,没必要再讨论,另外两人的情况还存疑,需要再看看。在跟雄鹿打揭幕战的时候,纳什用了克拉克斯顿首发。我当时质疑这个布置的合……
美股遭遇黑色星期四,道指创3月来最大单日跌幅詹姆斯发威,加时赛独取9分,湖人险胜爵士,豪取四连胜!三星将推出跟QuestPro类似的XR设备,或会和折叠屏新品你别坐这,我不喜欢你隐形霸凌再不当回事,会让孩子性格扭曲鬼脚七生活的真相Viper进决赛像做梦一样,虽然DK非常强,但我们会尽力而为出道即顶流,资产评估师(珠宝)为何这么抢手?家庭如何使用红霉素眼膏?玩手机真的香?身体要是出现这些信号,就快停下身体中若有肠息肉,这几个症状最明显,做好提前预防指甲上的月牙是什么?没有月牙就代表身体不好吗?看本文说出答案6个现象如果不断出现,医生看了得着急是肾衰竭了!倾听凤凰台我的电脑双击打不开怎么办图文教程眉毛不对颜值报废,2021最in眉型让你slay全场马桥数字产业发展研究院株洲打造制造名城的意义在哪?研究发现46岁左右的性生活更美满客服文员工作总结陕西省译协东亚防止虐待儿童专业委员会书的诱惑小学五年级作文WDS是什么大家棕子香香厨房!你知道的有几种?门铃的故事

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找美丽时装彩妆资讯历史明星乐活安卓数码常识驾车健康苹果问答网络发型电视车载室内电影游戏科学音乐整形