wxpython之tree_ctrl图标与点击事件

简介: wxpython之tree_ctrl图标与点击事件

如何用wxpython展示一个如图所示的的树呢?

image.png

wxpython的treectrl功能可以实现。

1.首先我们可以用wxglade画前端frame界面,添加一个TreeCtrl ,或者多个TreeCtrl,添加root.每一个tree只能有一个root

self.tree_ctrl_1 = wx.TreeCtrl(self.panel_1, wx.ID_ANY)
my_defect_root =self.my_tree.AddRoot("My Defect")

2.然后给设置图片list 用来给根节点和树节点放不一样的图片

self.image_list = wx.ImageList(16, 16)
self.case_icon =self.image_list.Add(wx.Image("resource/image/icon/bookmark.png",
                                              wx.BITMAP_TYPE_PNG).Scale(16, 16).ConvertToBitmap())
self.folder_icon =self.image_list.Add(wx.Image("resource/image/icon/document.png",
                                                wx.BITMAP_TYPE_PNG).Scale(16, 16).ConvertToBitmap())

3.然后给树设置imagelist

self.project_tree.SetImageList(self.image_list)

#注意千万不能用AssignImageList ,这样写虽然运行没问题,但是关闭窗口时会导致crash,一定要用SetImageList

4.给每一个节点设置图片和文字

status_node =self.my_tree.AppendItem(my_defect_root, “open”)
self.my_tree.SetItemImage(status_node, self.folder_icon, wx.TreeItemIcon_Normal)

5.给节点绑定双击事件

self.my_tree.Bind(wx.EVT_TREE_ITEM_ACTIVATED, self.show_defect_info)
def show_defect_info(self, event):
    item = event.GetItem()
    self.my_tree.Expand(item)
    print(self.my_tree.GetItemText(item))
目录
相关文章
Telerik RadGridView 右键菜单如何设置?
问题: 我想去掉红线框住的部分,希望有会的网友帮助我,谢谢!   解决方法: 默认:修改:【利用 ContextMenuOpening 事件,对应你的项目,你要自己修改那判断的字符串(你的中文)】   private void radGridView1_ContextMenuOpening(object sender,Telerik.
1235 0
element-plus菜单折叠以后图标消失
element-plus菜单折叠以后图标消失
186 0
|
JavaScript 前端开发
react项目如何设置ctrl+鼠标左键跳转到路径带@隐射的对应文件
react项目如何设置ctrl+鼠标左键跳转到路径带@隐射的对应文件
react项目如何设置ctrl+鼠标左键跳转到路径带@隐射的对应文件
|
容器 前端开发
RCP学习:GEF编辑器的鼠标的hover policy以及一个预览窗口效果
GEF编辑器遵循MVC模式。在这里Controller既是org.eclipse.gef.EditPart。它的行为是可以被一系列的策略(org.eclipse.gef.EditPolicy)确定的,见AbstractEditPolicy的方法: /** * Creates...
1170 0
|
8月前
|
JavaScript
一篇文章讲明白js鼠标侧键监听(也有左键,中键和右键)
一篇文章讲明白js鼠标侧键监听(也有左键,中键和右键)
333 0
|
JavaScript 前端开发
js常用点击、鼠标、键盘事件--详解
js常用点击、鼠标、键盘事件--详解
167 0
|
Android开发
给Eclipse插件的View加上菜单和工具条
Eclipse的每个视图(View)都有自己的菜单和工具条,View通过与自己相关的IViewSite对象与这些东西打交道,确切的说,是通过这个IViewSite对象的IActionBars对象来管理,ActionBars对象负责菜单、工具条和状态栏。
1535 0

热门文章

最新文章