首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么绑定到条目小部件的键不起作用?

为什么绑定到条目小部件的键不起作用?
EN

Stack Overflow用户
提问于 2022-04-27 16:48:20
回答 1查看 83关注 0票数 1

嗨,伙计们,我只是简单地创建一个文本空间来替换字母或星号中的任何输入,就像使用常规密码一样。但是,为什么如果我将任何键绑定到函数"text“,如果我按任意键,第一个输入是空的?因为如果我在函数中打印(e.get())时输入"m“,那么控制台中的输出是空的?为什么它忽略输入,以及如何简单地在文本区域显示星号,并将普通密码绑定到变量"a“,就像我的代码中的那样?使用e.delete和e.insert,我只需剪切最后一个字符并将其替换为星号,这是我的代码

代码语言:javascript
复制
from tkinter import  *
a = ""
window = Tk()
def entra():
    global a
    if a == "cgf":
        print ("a")
    else:
        print("noo")
def text (event):
    global a
    a = a + e.get()
    print(e.get())
    e.delete(len(e.get()) - 1)
    e.insert(END, "*")
e = Entry(window, borderwidth=3, width=50, bg="white", fg="black")
e.place(x=100, y=35)
e.bind("<Key>", text)
bottone_entra = Button (window, text = "Entra", borderwidth=2.5,command = entra)
bottone_entra.place (x=100, y=65)
etichetta = Label(window, text = "PASSWORD", bg = "#2B2B2B", fg = "white")
etichetta.place(x=97.5, y=10)
window.geometry ("500x500")
window.title ("Password")
window.configure(bg = "#2B2B2B")
window.mainloop()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-27 16:51:52

您不必手动为它构建逻辑,幸运的是,tkinter已经提供了它。您只需为条目小部件show='*'设置一个额外选项即可。

代码语言:javascript
复制
e = Entry(window, borderwidth=3, width=50, bg="white", fg="black", show='*')

为什么您应该避免构建/使用自己的逻辑,原因有很多,首先,一旦您执行了get(),您只会得到*,而不是原来的文本。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72032555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档