目前我正在使用 wxPython 编写一个 GUI 应用程序。 现在我想创建一个停止按钮,它将停止当前的 python 命令/请求/任务。
我已经创建了一个按钮:
def StopButton(self, event):
sys.exit(0)
但它不起作用。 :( 因为我的程序没有实现点击按钮。它没有反应或响应,因为他仍在忙于当前命令/请求/任务。
请您参考如下方法:
对于 GUI 应用程序,UI 在单个线程(通常是主线程)上运行。该线程初始化 GUI 元素,并等待用户输入。
当您在该主线程中做其他事情时,您的 GUI 元素无法接受用户输入,因为您正忙于做其他事情。有时这就是您想要发生的事情:现在不是。
看看Python threading ,并熟悉这些概念。你想要做的是,当你启动你当前的命令/请求/任务时,在一个新的线程中启动它,这样当你继续与你的 GUI 交互时,它可以接受用户输入。
tl;dr: spawn a new thread for your c/r/t
