wxPython:在程序启动时自动执行事件函数

1 投票
1 回答
638 浏览
提问于 2025-04-17 09:23

我代码里有一个下拉框的事件:

self.combobox1.Bind(wx.EVT_COMBOBOX, self.onActionCombobox1)

它会执行一个函数

def onActionCombobox1(self, event):

有没有办法让我每次启动程序的时候,这个函数都能自动执行呢?我试过这样做:

self.onActionCombobox1(event)

但是它提示 未定义的变量:event

1 个回答

1

如果你不打算使用事件变量,你可以这样做:

self.onActionCombobox1(None)

这段代码应该放在你类的__init__方法里,它会在类被创建的时候执行(这并不一定等同于程序启动,因为在wxPython中,你可以在运行时动态创建窗口或控件)。你也可以在创建类之前调用这个方法,但那样的话,方法的操作就不能和任何控件的状态或行为有关,因为那些控件还不存在。总之,如果是这样的话,或许这个方法应该更好地写成一个独立的函数。

撰写回答