应用程序要获得用户的信息时,输入框是必不可少的
1 import tkinter as tk 2 from tkinter import ttk 3 win=tk.Tk() 4 win.title('GUI005') 5 6 def clickMe(): 7 action.configure(text='Hello '+name.get()+'!') 8 9 10 action=ttk.Button(win,text='Click Me',command=clickMe) 11 action.grid(column=1,row=1) 12 13 ttk.Label(win,text='Enter a name:').grid(column=0,row=0) 14 15 name = tk.StringVar() 16 nameEntered=ttk.Entry(win,width=12,textvariable=name) 17 nameEntered.grid(column=0,row=1) 18 19 win.mainloop()
Entry 是 Tkinter 用来接收字符串等输入的控件. 该控件允许用户输入一行文字. 如果用户输入的文字长度长于 Entry 控件的宽度时, 文字会向后滚动. 这种情况下所输入的字符串无法全部显示. 点击箭头符号可以将不可见的文字部分移入可见区域. 如果你想要输入多行文本, 就需要使用 Text 控件. Entry 控件只能使用预设字体.
使用 Entry 控件的语法如下: w = Entry(master, option, ...)
master
参数为其父控件, 就是用来放置这个 Entry 的控件. 像其他控件一样, 我们可以在创建 Entry 控件之后再为其指定属性. 因此创建方法中的 options
选项可以为空.
我们的程序如何得到这些数据呢?
方法很简单, 调用 Entry 类的 get()
方法即可.
【网上小程序】
1 from tkinter import * 2 def reg(): 3 s1=e1.get() 4 s2=e2.get() 5 t1=len(s1) 6 t2=len(s2) 7 if s1=='111' and s2=='222': 8 c['text']='登录成功' 9 else: 10 c['text']='用户名或密码错误' 11 e1.delete(0,t1) 12 e2.delete(0,t2) 13 14 15 root = Tk() 16 l1=Label(root,text='用户名:').grid(column=0,row=0,sticky=W) 17 18 e1=Entry(root) 19 e1.grid(column=1,row=0,sticky=E) 20 21 l2=Label(root,text='密码:').grid(column=0,row=1,sticky=W) 22 23 e2=Entry(root) 24 e2.grid(column=1,row=1,sticky=E) 25 26 b=Button(root,text='登录',command=reg) 27 b.grid(column=1,row=2,sticky=E) 28 c=Label(root,text='') 29 c.grid(row=3) 30 31 root.mainloop()