繁体   English   中英

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

[英]wxpython: EVT_TREE_SEL_CHANGED event in treectrl in notebook when created

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

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

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

我不知道为什么会这样,但这看起来像是wxWidgets中的错误。 在实践中,这意味着您不应该依赖此行为,因为它在其他平台上的行为可能会有所不同(实际上我很确定确实如此),并且在将来的wxWidgets版本中也可能会发生变化。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM