求python高手 tkinter的Entry和Label的同步问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求python高手 tkinter的Entry和Label的同步问题相关的知识,希望对你有一定的参考价值。

我想要实现entry和Label的同步
在entry中输入内容后, Label马上显示,脱离button
请问这个怎么实现。

Ps:我可以每秒刷新,但是我是新手,有可以检测键盘输出,或者本身entry的code么
谢谢

两年前的问题呀……

其实很简单,给Entry关联一个变量然后监视变量变化就行:

class XX:
    def __init__(self):
        self.txt = tk.StringVar()
        entry = tk.Entry(root, textvariable=self.txt, ...)
        entry.pack()
        self.txt.trace('w', self.func)
    
    ...
    
    def func(self, var, mode, event):
        self.label['text'] = self.txt.get()

这样就可以啦。不知道两年后的你还有没有疑问或者这个回答有没有用,但最起码可以不用让别的看到此提问的网友不会被明显答非所问的垃圾回答坑到。

参考技术A 在设置entry变量的时候你的代码是这样:
entry=Entry(root,
textvariable=e
).pack()
这时候entry不是Entry的实例,而是Entry(…… ).pack(),就是pack方法的返回值,pack方法不返回任何值,那么这个时候entry实际上是none,没有get方法,把代码改成这样:
entry=Entry(root,
textvariable=e
)
entry.pack()
就可以了
参考技术B 关联同一个变量对象试试

python tkinter entry

 2 \'\'\'Entry编辑框 收集数据\'\'\'
 3 import tkinter as tk
 4 import tkinter.messagebox as messagebox
 5 #初始化窗口
 6 window = tk.Tk()
 7 #窗口名称
 8 window.title("My Window")
 9 #窗口大小,是 x 不是 *
10 window.geometry("400x400")
11 #不能改变窗口的大小
12 window.resizable(width=False,height=False)
13 #相当于动画显示
14 var = tk.StringVar()
15 #传值
16 var.set("Hello World")
17 #创建title标签,以便更清楚观察
18 title = tk.Label(window,textvariable=var,height=2,width=30,bg="green",font=("宋体",15))
19 title.pack()
20 #创建容器
21 f_1 = tk.Frame(window)
22 f_1.place(x=100,y=50)
23 #标签1
24 l_1 = tk.Label(f_1,text="number")
25 l_1.pack()
26 #标签2
27 l_2 = tk.Label(f_1,text="password")
28 l_2.pack()
29 #创建容器
30 f_2 = tk.Frame(window)
31 f_2.place(x=170,y=50)
32 #编辑框1
33 e_1 = tk.Entry(f_2,width=20)
34 e_1.pack()
35 #编辑框2,隐藏输入的内容
36 e_2 = tk.Entry(f_2,width=20,show="*")
37 e_2.pack()
38 #图片标签
39 label_image = tk.Label(f_2)
40 def log():
41     #判断编辑框的内容
42     if e_1.get() == "123" and e_2.get() == "123":
43         image = tk.PhotoImage(file="3.gif")
44         #添加图片
45         label_image.config(image=image)
46         label_image.pack()
47         #传值
48         var.set("登陆成功")
49         #使用消息框,弹出对应的信息
50         messagebox.showinfo(title="提示",message="欢迎使用***")
51     else:
52         #传值
53         var.set("账号或密码输入错误!")
54         # 使用消息框,弹出对应的信息
55         messagebox.showerror(title="错误",message="你的输入有误!")
56 #创建登陆按钮
57 button = tk.Button(f_2,text="confirm",command=log)
58 button.pack()
59 #循环窗口
60 window.mainloop()
运行
输入错误密码
输入正确密码

 

以上是关于求python高手 tkinter的Entry和Label的同步问题的主要内容,如果未能解决你的问题,请参考以下文章

python之tkinter图形界面

Python2.7.3 Tkinter Entry(文本框) 说明

Python Tkinter 文本框(Entry)

python的Tkinter图形界面,怎样将输入控件Entry中的内容保存到一个变量中

python Python,Tkinter:Label,Button,Entry,Combobox,Checkbutton,Radiobutton,ScrolledText

python如何用像素规定tkinter模块里label或button的大小