2016-08-14 3 views
0

Вот кодtkMessageBox Сбои Python приложений После запуска (Решено)

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.

Он также отлично работал на моем компьютере с Windows 10 с pyinstaller.

EDIT: Проблема, казалось, чтобы исправить себя

ответ

0

py2exe Виндоус версия py2app.

первую очередь построить нам нужен файл установки, как это:

[setup.py]

from distutils.core import setup 
import py2exe      #in your case import py2app 
setup(console=['myFile.py']) 

о запуске этого файла с помощью питона setup.py py2exe:

он вызовет настройку и скажет, что мы хотим использовать одно консольное приложение, а главной точкой входа является «myFile.py».

При полной сборке создаются два каталога. Просмотрите каталог dist и запустите приложение.

Он работает отлично. не

Нет ошибок

PS - убедитесь, что путь к иконке правильно

output screenshot here

+0

У меня уже есть setup.py и все, но это модуль tkMessageBox, что, кажется, аварии приложение , После нажатия кнопки self.B приложение выйдет из строя. –

+0

Это должна быть проблема с сборкой. Работаю хорошо для меня. –

+0

tkMessageBox на MacOSX с py2app с python 2.7? –

Смежные вопросы