0
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 计算机上也能正常工作。

4

1 回答 1

0

py2exe 是 py2app 的 windows 版本。

首先要构建,我们需要一个这样的设置文件:

[设置.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 - 确保你的图标的路径是正确的

在此处输出屏幕截图

于 2016-08-14T10:29:04.267 回答