wxpython:创建时笔记本中的treectrl中的EVT_TREE_SEL_CHANGED事件

时间:2014-06-27 01:42:39

标签: python wxpython wxwidgets

我正在学习wxpython并有一个问题。

当我在框架内创建treectrl并调用framework.show()时,会自动选择treectrl中的第一项(即EVT_TREE_SEL_CHANGED事件被触发)。但是,当我在面板中创建treectrl时,将面板添加到笔记本中并将笔记本添加到框架中,调用EVT_TREE_SEL_CHANGED时不会触发framework.show()事件。相反,当我在初始渲染后的treecontrol中选择一个项目时,会触发两个EVT_TREE_SEL_CHANGED(一个用于第一个项目,该项目应该在初始渲染期间被触发,另一个用于选定的项目)。

panel.SetFocus()底部的

framework.__init__()修复此问题 - 即,在初始渲染期间触发EVT_TREE_SEL_CHANGED以选择第一个项目。但是,我想知道为什么会这样。当树形控件包含在笔记本面板中时,有人知道为什么EVT_TREE_SEL_CHANGED在初始渲染中被阻止了吗?

1 个答案:

答案 0 :(得分:0)

我不知道为什么会发生这种情况,但这看起来像是wxWidgets中的一个错误。在实践中,这意味着你不应该依赖这种行为,因为它可能(实际上我很确定它确实)在其他平台下表现不同,并且在将来的wxWidgets版本中也可能会改变。