Tkinter CheckButton не работает в EXE - PullRequest
0 голосов
/ 29 июня 2018

Я работаю с Tkinter на spyder python3.6. В моей программе я использую Tkinter CheckButtons с командой. Когда я выполняю свою программу в Spyder, она работает хорошо. Но когда я генерирую EXE, используя cx Freeze, я не могу проверить кнопки на моем интерфейсе. Я пишу этот код, чтобы проиллюстрировать мою ситуацию.

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
    )
...