(Python3.4)tkinter messagebox在由cx_freeze执行时不起作用

时间:2016-08-18 09:09:21

标签: python tkinter messagebox cx-freeze

import sys
from cx_Freeze import setup, Executable

build_exe_options = {'packages': ['os','tkinter','random',
                              'heapq','collections','sys','pickle']}

base = None
if sys.platform == "win32":
    base = "Win32GUI"

setup(  name = 'Game',
        version = '0.02',
        description = 'My GUI application!',
        options = {'build_exe': build_exe_options},
        executables = [Executable('Game.py', base=base)])

这是设置的代码

from tkinter import *
value_a = 'hahaha'
a =messagebox.showinfo('laugh',value_a)

以及将执行的代码

当我在cmd中输入Nameerorr : name "messagebox" is not definedpython 123.py build时,erorr为python haha.py build

我已经使用过import *,如果我运行的代码显示消息,但cmd和.exe

都没有

我应该使用import tkinter as tk吗?但是通过添加“tk”很难读取我的代码,我想保留import *,这样就不需要“tk.xxx”了,它仍然适用于exe。

2 个答案:

答案 0 :(得分:0)

from tkinter import *不适用于 messagebox ,因此您必须单独导入消息框,如下所示

from tkinter import messagebox

答案 1 :(得分:0)

我也有这个问题。它在IDE中运行正常,但在直接运行模式下运行不正常。 添加import tkinter.messagebox as messagebox修复了问题。 谢谢,G。