wxpython:事件发生时中断while循环
我想创建一个wxpython应用程序,它在无限while循环中缓冲音频输入,直到单击chekbox。我尝试了以下代码,但它没有响应任何事件,只是在while循环中迭代。请帮助我继续我的项目工作。提前谢谢wxpython:事件发生时中断while循环,wxpython,Wxpython,我想创建一个wxpython应用程序,它在无限while循环中缓冲音频输入,直到单击chekbox。我尝试了以下代码,但它没有响应任何事件,只是在while循环中迭代。请帮助我继续我的项目工作。提前谢谢 while 1: #buffering of audio data if self.checkbox_1.GetValue(): #checking for an external event but this external event is not wor
while 1:
#buffering of audio data
if self.checkbox_1.GetValue(): #checking for an external event but this external event is not working and i cant even check the check box
break
答案是线程。通过创建无限循环,您将阻塞UI的事件循环。因此,在一个单独的线程缓冲件。在线程中,您将需要分块进行缓冲(比如一次一个KB)。在每个块之后,使用wxPython的线程安全方法之一询问wxPython是否选中了复选框。线程安全方法是wx.CallAfter、wx.CallLater和wx.PostEvent。我推荐第一个或最后一个 wxPython wiki解释了如何添加线程: