import Tkinter
import tkMessageBox
def created():
tkMessageBox.showinfo('File Created!', 'Letter.html Created on Desktop')
class simpleapp_tk(Tkinter.Tk):
def __init__(self,parent):
Tkinter.Tk.__init__(self,parent)
self.parent = parent
self.initialize()
def initialize(self):
self.grid()
# --- Everything Fine Here ---
self.B = Tkinter.Button(self, text = 'Create Document', command = self.OnButtonClick)
self.B.grid(column = 0, row = 6)
def OnButtonClick(self):
created()
if __name__ == "__main__":
app = simpleapp_tk(None)
app.title('Receipt Form')
app.iconbitmap(os.getcwd() + '/M.tiff')
app.mainloop()
我使用py2app创建一个独立的应用程序,但是当我运行它并按下按钮时,它似乎崩溃了。
我非常确定导致问题的是tkMessageBox,但消息框在IDLE中完全正常。
它在我的带有pyinstaller的Windows 10计算机上运行良好。
答案 0 :(得分:0)
py2exe是py2app的windows版本。
首先要构建我们需要一个像这样的设置文件:
<强> [setup.py] 强>
from distutils.core import setup
import py2exe #in your case import py2app
setup(console=['myFile.py'])
使用 python setup.py py2exe 运行此文件:
它将调用setup并告诉它我们需要一个控制台应用程序,主要入口点是“ myFile.py ”。
在完成构建时,会创建两个目录。查看dist目录并运行您的应用程序。
完全正常。
没有错误
PS - 确保您图标的路径正确