Tkinter CheckButton在EXE中不起作用

时间:2018-06-29 15:01:43

标签: python python-3.x tkinter spyder cx-freeze

我在spyder python3.6上使用Tkinter。 在我的程序中,我将Tkinter CheckButtons与命令配合使用。当我在Spyder中执行程序时,它运行良好。但是,当我使用cx Freeze生成EXE时,无法检查界面上的复选按钮。 我写这段代码来说明我的情况。

import tkinter as tk
root=tk.Tk()
frame = tk.LabelFrame(root,text="Fichiers excel", padx=5, pady=20)
frame.grid(row=0,sticky='nesw')
cbVar=tk.StringVar()

def fct():
    if cbVar.get() =='':
        cbVar.set('salut')
    else:
        cbVar.set('')
    print(cbVar.get())
cb  = tk.Checkbutton(frame, text="cb",variable=cbVar,command=fct,state=tk.NORMAL)
cb.grid(row=0,column=0)
root.mainloop()

我的设置代码如下:

import cx_Freeze
import sys
import os.path
PYTHON_INSTALL_DIR = os.path.dirname(os.path.dirname(os.__file__))
os.environ['TCL_LIBRARY'] = os.path.join(PYTHON_INSTALL_DIR, 'tcl', 'tcl8.6')
os.environ['TK_LIBRARY'] = os.path.join(PYTHON_INSTALL_DIR, 'tcl', 'tk8.6')
base = None

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

executables = [cx_Freeze.Executable("debug.py", base=base)]
cx_Freeze.setup(
    name = "test",
    options = {"build_exe": {"packages":["tkinter"]}},
    version = "0.01",
    description = "test",
    executables = executables
    )

0 个答案:

没有答案