使用self.GetParent().FindWindowById(wx.ID_FORWARD).Disable()
,我可以完全禁用下一个按钮,但我只希望在满足条件之前,向导中的第二个页面上有一个禁用按钮。如果所有页面都是一次创建的,我如何防止下一个按钮在到达第二个页面之前被禁用?
在您真正想要修改这样的东西之前,向导非常酷。我猜你必须跟踪你在哪个页面上,然后调用这样的东西(这是你已经知道的):
forward_btn = self.FindWindowById(wx.ID_FORWARD)
forward_btn.Disable()
您可能可以使用event。GetPage()来判断你在哪个页面上。或者你可以用一些面板重新实现向导,然后用这种方式进行切换。就我个人而言,我认为这会更容易。我的博客上有一个面板切换的例子,可能会对你有所帮助。
您可能还会发现我提出的向导的这种非常通用的实现也很有帮助。