wx.Hypertreelist-如何向其中添加小部件? /如何使文字可编辑?

时间:2019-03-19 10:54:18

标签: python python-3.x user-interface wxpython

最近我发现了Hypertreelist,这似乎是我所需要的,但是没有任何好的例子。所以我有几个问题:

  • 如何向其中添加wx.Widgets?就像放置一个组合框
  • 如何使行内的文本可编辑? Vie Doubleclick会很好

到目前为止,这是我的代码:

import wx
import wx.lib.agw.hypertreelist as HTL

class MyFrame(wx.Frame):
    def __init__(self, parent):
        wx.Frame.__init__(self, parent, -1, "HyperTreeList Demo")

        tree_list = HTL.HyperTreeList(self)
        tree_list.AddColumn("First column")
        root = tree_list.AddRoot("Root")
        parent = tree_list.AppendItem(root, "First child")
        child = tree_list.AppendItem(parent, "First Grandchild")
        tree_list.AppendItem(root, "Second child")

app = wx.App(0)
frame = MyFrame(None)
app.SetTopWindow(frame)
frame.Show()
app.MainLoop()

1 个答案:

答案 0 :(得分:1)

您可以使用HitTest和EditLabel进行尝试。代码看起来像这样:

pt = event.GetPosition()
    item, flags, column = self.tree.HitTest(pt)

    if "CP" in item.GetText():
        if column > 1:
            self.tree.EditLabel(item, column)    
    event.Skip()