wxPython TreeCtrl
在这篇文章中,我们将了解TreeCtrl,以及如何将TreeCtrl添加到我们的窗口。树形控件以层次结构的形式显示信息,其中的项目可以被展开以显示更多的项目。树形控件中的项目由wx.TreeItemId句柄引用,可以通过调用wx.TreeItemId.IsOk测试其有效性。
我们将使用 TreeCtrl() 构造函数来创建 TreeCtrl。
语法:wx.TreeCtrl.TreeCtrl(parent, id=ID_ANY, pos=DefaultPosition, size=DefaultSize, style=TR_DEFAULT_STYLE, validator=DefaultValidator, name=TreeCtrlNameStr)
参数
参数 | 输入类型 | 参数描述 |
---|---|---|
parent | wx.Window | 父窗口。必须不是无。 |
id | wx.WindowID | 窗口标识符。值ID_ANY表示默认值。 |
pos | wx.Point | 窗口的位置。如果指定了wx.DefaultPosition,那么将选择一个默认位置。 |
size | wx.Size | 窗口大小。如果指定了wx.DefaultSize,那么窗口的大小将被适当调整。 |
style | 长 | 窗口风格。 |
validator | wx.Validator | 窗口验证器 |
name | 字符串 | 窗口名称 |
代码示例。
import wx
class MainFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, parent = None, title ='TreeCtrl Demo')
# tree control
self.tree = wx.TreeCtrl(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize)
# add root to tree
self.root = self.tree.AddRoot('Root ')
# add item to root
self.tree.AppendItem(self.root, 'Child')
# expand tree
self.tree.Expand(self.root)
# show frame
self.Show()
if __name__ == '__main__':
app = wx.App(redirect = False)
frame = MainFrame()
app.MainLoop()
输出窗口: