2014-10-31 33 views
1

下面是一個非常簡單的wxPython代碼,創建一個Notebook,其中有幾個包含TreeCtrl對象的面板。避免點擊退出筆記本中的wxPython TreeCtrl

使用它,我得到一個行爲,我想避免:

當我在樹上點擊,那麼我可以不要直接點擊第一個外樹切換到筆記本的另一頁。這意味着它需要兩次點擊才能更改筆記本頁面:一個用於在樹外,另一個用於切換頁面。

我希望能夠在一次點擊中做到這一點。

代碼:

import wx 

class TestFrame(wx.Frame): 

    def __init__(self): 
     wx.Frame.__init__(self, None, wx.ID_ANY) 

     # Create the notebook 
     notebook = wx.Notebook(self) 

     # Put panels in the notebook 
     notebook.AddPage(TestPanel(notebook), "Page 1") 
     notebook.AddPage(TestPanel(notebook), "Page 2") 

     # Display the window 
     self.Show(True) 


class TestPanel(wx.Panel): 

    def __init__(self, parent): 
     wx.Panel.__init__(self, parent) 

     # Create the sizer 
     sizer = wx.BoxSizer(wx.VERTICAL) 
     self.SetSizer(sizer) 

     # Create the tree 
     tree = wx.TreeCtrl(self) 
     sizer.Add(tree, 1, wx.EXPAND) 

     # Create nodes in the tree 
     root = tree.AddRoot("root") 

     tree.AppendItem(root, "item 1") 
     tree.AppendItem(root, "item 2") 
     tree.AppendItem(root, "item 3") 

     # Expand the root node 
     tree.Expand(root) 


if __name__ == "__main__": 

    # Create an application without redirection of stdout/stderr to a window 
    application = wx.App(False) 

    # Open a main window 
    frame = TestFrame() 

    # Launch the application 
    application.MainLoop() 
+0

我嘗試從wxpython的演示,在演示的treebook,它也有這個問題。 – liunx 2014-10-31 10:21:12

+0

只是注意到,用右鍵選擇樹節點時不會發生這種情況......如果只有我可以將右鍵單擊行爲與左按鈕相關聯,它可能會執行訣竅... – taalf 2014-10-31 11:39:00

回答

1

這看起來像this bug應固定在3.0.2。如果您使用的是早期版本,請升級。