我有一个简单的Python程序,带有wxPython GUI和任务栏图标。我基本上使用以下.bat脚本启动程序:
cd %~dp0
.\components\window.py
要结束程序,用户只需从自定义任务栏图标中选择退出选项。
def onClickExit(self, event):
app.keepGoing = False
self.frame.Destroy()
self.Destroy()
我发现的是,当我使用此方法关闭窗口时,运行此脚本打开的命令行窗口仍保持打开状态。当我摧毁wxPython框架和任务栏图标时,有没有办法让我终止窗口?当.py脚本通过.bat脚本运行时,这似乎是一个问题。
答案 0 :(得分:0)
使用wx.TaskBarIcon
时遇到问题。在调用框架的Destroy()方法之前,必须销毁wx.TaskBarIcon实例。这就是我通常用近距离方法做的事情:
self.tbIcon.RemoveIcon()
self.tbIcon.Destroy()
self.Destroy()
您应该查看本教程,因为它也可能对您有所帮助:
答案 1 :(得分:0)
试试这个:
def onClickExit(self, event):
exit()
您是否定义了多个框架?如果每个帧都被“销毁”,命令行将仅关闭。
使用exit()
命令,脚本将完全终止。
希望它有所帮助! :)
菲尔