为wxPython事件分配优先级

为wxPython事件分配优先级,python,wxpython,wxwidgets,Python,Wxpython,Wxwidgets,是否有为特定wxPython事件分配优先级的方法 启动GUI后,我会定期使用计时器调用一个方法。但是我希望在用户按下一个按钮时就能够退出这个方法。如果没有工作线程,这可能吗?我不知道。事件将按接收顺序添加到事件队列中。您可以使用一个线程来执行此操作,其中进程在该线程中运行,您可以杀死它。不过,你可以试着在wxPython邮件列表上询问其他想法。有几个核心开发人员在场,他们可能会为您提供一些见解。我怀疑,如果没有单独的线程,这是不可能的。键盘事件可能在wx的mainloop中的某个点进行处理,这意

是否有为特定wxPython事件分配优先级的方法


启动GUI后,我会定期使用计时器调用一个方法。但是我希望在用户按下一个按钮时就能够退出这个方法。如果没有工作线程,这可能吗?

我不知道。事件将按接收顺序添加到事件队列中。您可以使用一个线程来执行此操作,其中进程在该线程中运行,您可以杀死它。不过,你可以试着在wxPython邮件列表上询问其他想法。有几个核心开发人员在场,他们可能会为您提供一些见解。

我怀疑,如果没有单独的线程,这是不可能的。键盘事件可能在wx的mainloop中的某个点进行处理,这意味着您需要将程序控制返回mainloop(从函数返回),以便处理事件。wx.Yield()呢。我不太清楚它到底做了什么,但它似乎将控制权返回到了主循环。我对
wx
还不够熟悉。我知道在
Tkinter
中,您可以执行类似于
widget.update\u idletasks()
的操作。但这并不能马上得到键盘事件——当你的程序到达
update\u idletasks()
时就会得到它。根据,
wx.Yield()
相当于
tkinter.update\u idletasks()