使用.bat脚本启动时,python.exe没有结束

时间:2014-10-20 17:32:08

标签: python windows batch-file wxpython

我有一个简单的Python程序,带有wxPython GUI和任务栏图标。我基本上使用以下.bat脚本启动程序:

cd %~dp0
.\components\window.py

要结束程序,用户只需从自定义任务栏图标中选择退出选项。

def onClickExit(self, event):
    app.keepGoing = False
    self.frame.Destroy()
    self.Destroy() 

我发现的是,当我使用此方法关闭窗口时,运行此脚本打开的命令行窗口仍保持打开状态。当我摧毁wxPython框架和任务栏图标时,有没有办法让我终止窗口?当.py脚本通过.bat脚本运行时,这似乎是一个问题。

2 个答案:

答案 0 :(得分:0)

使用wx.TaskBarIcon时遇到问题。在调用框架的Destroy()方法之前,必须销毁wx.TaskBarIcon实例。这就是我通常用近距离方法做的事情:

self.tbIcon.RemoveIcon()
self.tbIcon.Destroy()
self.Destroy()

您应该查看本教程,因为它也可能对您有所帮助:

答案 1 :(得分:0)

试试这个:

def onClickExit(self, event):
    exit() 

您是否定义了多个框架?如果每个帧都被“销毁”,命令行将仅关闭。 使用exit()命令,脚本将完全终止。

希望它有所帮助! :)

菲尔