我製作了這個我用cx_freeze編譯的小計算器。它計算一些東西,並在消息框中給你答案。當我從IDLE運行它時工作正常,但是當我從.exe運行它時,它會打開使用Tkinter創建的GUI,但是如果按下我的計算按鈕,應該彈出消息框,它會在我的dos shell中出現以下錯誤:在Tkinter的回調 回溯Python 3.2 Cx_Freeze不會編譯整個tkinter
「異常(最新最後調用): 文件 「C:\ Python32 \ LIB \ tkinter__init __ PY」,行1399,在通話 回報self.func(*參數) 文件 「calculator1.pyw」 46行,在energyKinetic NameError:全局名稱 '消息框' 沒有定義」
我用下面的 'setup.py':
from cx_Freeze import setup, Executable
setup(
name = 'Kinetic Energy Calculator',
version = '0.1',
description = 'Calculate',
executables = [Executable('calculator1.pyw')],
)
並從cmd運行'C:\ Python32> python setup.py build'。
計算器本身的代碼只是siple Tkinter GUI,帶有按鈕,標籤,條目和消息框,所以我沒有看到在這裏發佈它的共鳴,除非當然有人會發現它需要我做所以。 那麼,有沒有什麼重要的我沒有把它放在setup.py中,以便它能夠正確編譯?
那麼,我將不得不讓我的主窗口打開另一個窗口 - 類似的東西?換句話說,我不會使用messageboxe,而是會使用看起來像messagebox的新窗口?順便說一句,感謝Win32GUI的東西,幫助我也噸:) – NumeroSMG
是的,使窗戶看起來像messageboxes,而不是做'新'窗口,你應該''頂層'你的主窗口。 –