wxPython 两步创建wx.TreeCtrl
在这篇文章中,我们将学习如何使用两步创建法来创建一个树形控件。为了做到这一点,我们将使用 wx.TreeCtrl 类中的 Create() 方法。基本上,我们将使用TreeCtrl()构造函数以空括号初始化树控件,然后我们将使用Create()方法和属性与树控件关联。
语法 。
wx.TreeCtrl.Create(self, parent, id=ID_ANY, pos=DefaultPosition, size=DefaultSize, style=TR_DEFAULT_STYLE, validator=DefaultValidator, name=TreeCtrlNameStr)
参数 。
参数 | 参数类型 | 说明 |
---|---|---|
parent | wx.Window | 树形控件的父窗口/框架。 |
id | wx.WindowID | 与树形控件相关的部件标识符。 |
pos | wx.Point | 放置树形控件的位置。 |
size | wx.size | 树形控制部件的大小 |
style | 长 | 树形控件的样式。 |
validator | wx.Validator | 与Tree Control相关的验证器。 |
name | 字符串 | 树形控件的名称。 |
代码示例 。
import wx
class TreePanel(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent)
# initialize Tree Control
self.tree = wx.TreeCtrl(self, wx.ID_ANY, wx.DefaultPosition, (100, 70),
wx.TR_HAS_BUTTONS)
# create Tree Control using Create() method
self.tree.Create
# Add root to Tree Control
self.root = self.tree.AddRoot('Root')
# Add item to root
itm = self.tree.AppendItem(self.root, 'Item')
# Add item to 'itm'
self.tree.AppendItem(itm, "Sub Item")
# Expand whole tree
self.tree.Expand(self.root)
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(self.tree, 0, wx.EXPAND)
self.SetSizer(sizer)
class MainFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, parent = None, title ='TreeCtrl Demo')
panel = TreePanel(self)
self.Show()
if __name__ == '__main__':
app = wx.App(redirect = False)
frame = MainFrame()
app.MainLoop()
输出 。