python - _tkinter.TclError:无效的命令名称“.!frame.!entry”
问题描述
我对 tkinter 有疑问Entry
。当我想检索或删除我的条目的内容时,prgrame 向我显示错误:
_tkinter.TclError:无效的命令名称“.!frame2.!entry2”
或者
_tkinter.TclError:无效的命令名称“.!frame.!entry”
这是我的程序:
def boutton():
global nbr, m_a_t
if nbr == 0 :
w_t_f = ask_word_p2() # w_t_f == word to find / != what the fuck xD
if w_t_f == None :
print(None)
nbr -= 1
else :
m_a_t = w_t_f
info.delete(0,END)
entre.delete(0,END)
trais_start(m_a_t)
elif nbr == 1 :
lttr_test = try_lettre()
trais(m_a_t)
box_right = Frame(window,bg=bg)
titre_c = Entry(box_right, font=("Helvetica Neu",25), bg=bg, fg=fg, bd=0,
highlightthickness=0)
titre_c.grid(row=1, column=0, pady=10)
entre = Entry(box_right, font=("Helvetica Neu",25), bg=bg, fg=fg, bd=1, highlightthickness=1)
entre.grid(row=2, column=0, pady=10)
b1 = Button(box_right, text="Entrer", font=("Helvetica Neu",30), bg=fg, fg=bg,
command=boutton)
b1.grid(row=3, column=0, pady=10, sticky="we")
info = Entry(box_right, font=("Helvetica Neu",25), bg=bg, fg=fg, bd=0, highlightthickness=0)
info.grid(row=4, column=0, pady=10)
box_right.grid(row=0, column=1, pady=40)#, padx=50)
def insert_titre_c(txt):
global titre_c
titre_c.delete(0,END)
titre_c.insert(0, txt)
def insert_entre(txt):
global entre
entre.delete(0,END)
entre.insert(0, txt)
def insert_info(txt):
global info
info.delete(0,END)
info.insert(0, txt)
def ask_word_p2():
global entre, l_min, info
insert_titre_c("Mot à faire deviner au j2 :")
...
if error == "other_cara" :
insert_info("Veuliez entrer uniquement des lettres.") #here it works
return None
if len(mot) == 0 :
insert_info("Entrer au moins une lettre.") #here it also works
return None
elif error == "" :
return mot
def trais_start(mot):
global m_a_t, l_cara
trai = ""
t = 0
for x in m_a_t :
t += 1
if t == len(m_a_t) : # pr pas metre d'espace à la fin
tr = "_"
trai = trai + tr
else :
tr = "_" + " "
trai = trai + tr
l_cara.append(tr)
tt = "Mot à trouver : " + trai
insert_titre_c(tt)
def trais(lt):
global m_a_t, l_cara
tt = "Mot à trouver : " + lt
insert_titre_c(tt)
def try_lettre():
global m_a_t, l_min, l_try, vie, l_cara, entre
insert_titre_c("Entrez une lettre : ") #error 1
lettre = entre.get() #error 2
if len(lettre) < 1 :
insert_info("Veuillez entrez une lettre.")
elif len(lettre) > 1 :
insert_info("N'entrez q'une lettre.")
...
return mot
我到处寻找,但到目前为止,我还没有找到任何适合我的答案。有人能帮我吗 ?
解决方案
推荐阅读
- ios - 如何呈现带有 UIView、UIButton 子类的视图控制器?
- javascript - 将 Javascript 数组自定义为计划文本并填充到 textarea
- reactjs - 更新状态的正确位置 - React JS
- database - 如果为空,则删除 Azure 弹性池
- reactjs - 如何从反应页面中查看内容?它只显示文件
- anylogic - 创建饼图以获取机架系统的利用率
- javascript - VueJS如何从子组件向其父组件发出事件
- json - 使用标准实用程序从 JSON 对象中提取值
- javascript - 如何在Javascript中按属性对数组进行排序
- c++ - 为什么每个常用的标准 C 函数都会自动包含在任何 C++ 程序中?