我知道,标题很有趣。它就像电影“初始”的情况。在梦中梦见梦。 大家好,我正在使用wxpython制作应用程序。 我想实现这样的目标。(这只是问题的概念)
func1(self,event):
some widgets added
func2
func2(self,event):
remove previous widgets (by using event.GetEventObject().GetParent().Hide())
add new ones
func3
func3(self,event):
remove widgets added in func2
recall widgets added in func1 (event.GetEventObject().GetParent().Show())
我已经遍历了太多内容,比如从函数跳转到其他嵌套3次 功能,我没有事件跟踪。
如果我使用
存储事件的ID(在列表中) event.GetId()
在遍历每个函数时,如果我可以使用这些id,有没有办法 替换
event.GetEventObject().GetParent().Show()
event.GetEventObject().GetParent().Hide()
带
id1.GetEventObject().GetParent().Hide()
id2.GetEventObject().GetParent().Show()
我只是想知道这种事情是可能的吗? 或者这是一种更简单的方法吗?
答案 0 :(得分:0)
如果还有任何问题,我找到了一些方法...... 首先,你不需要使用ID .....更简单的方法 创建不同的面板........ 如果你想隐藏一个,你可以简单地做
panelname.Hide()
当你想要展示另一个时,
panelname.Show() # Or this also works (event.GetEventObject().GetParent().Show()\Hide())
注意:1)记得给所有小部件(按钮等)单独的ID(或-1会这样做)。 2)您也可以使用函数调用创建重叠面板。(例如 - 单击按钮后)。 3)您还可以创建一个公共面板(父面板),然后在 init 主体中创建子面板。然后你可以简单地隐藏并在绑定的功能中显示这些面板(可能是一个按钮等)。
我这样解决了我的问题。不需要使用GetId()。但可能还有其他方式。如果你有其他想法,请分享。我希望有一天能帮到某人......谢谢大家。