Tkinter CheckButton在EXE中不工作

2024-10-03 23:30:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我和Tkinter在spyder python3.6上合作。 在我的程序中,我使用Tkinter CheckButtons命令。当我在Spyder中执行我的程序时,它运行得很好。但是,当我使用cxfreeze生成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
    )

Tags: installpathimportbaseostkinterdirroot