2014-10-31 2 views
1

Ниже приведен очень простой код wxPython, создающий ноутбук, внутри которого находятся несколько панелей, содержащих объекты 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, в демонстрации древовидной книги, у нее также есть эта проблема. – liunx

+0

Просто заметил, что это не происходит при выборе узлов дерева с помощью правой кнопки ... Если бы только я мог связать поведение правой кнопки мыши с левой кнопкой, это может сделать трюк ... – taalf

ответ

1

Это выглядит как this bug, который должен быть закреплен в 3.0.2. Если вы используете более раннюю версию, обновите ее.

Смежные вопросы