小白学tkinter(Entry组件)
2017-08-05 22:43
232 查看
# Entry用来输入单行文本 '''''1.第一个Entry程序''' from tkinter import * root = Tk() # 创建entry Entry(root, text='input your text here').pack() # 上面的代码目的是创建一个Entry对象,并在Entry上显示'input your text here',运行此代码,并没有看到文本的显示, # 由此可知与Lable和Button不同,Entry的text属性不可以设置Entry的文本 '''''2.在Entry中设定初始值,使用textvariable将变量与Entry绑定''' e = StringVar() entry = Entry(root, textvariable=e).pack() e.set('input your text here') '''''3.设置为只读Entry. Entry的另一个比较有用的属性,设置为只读,不允许用户对它的值改变。 设置state属性为'readonly' ''' e2 = StringVar() entry = Entry(root, textvariable=e2) #上边这句可以改为 entry = Entry(root,textvariable = e2,state = 'readonly') e2.set('not modify') entry.pack() entry['state'] = 'readonly' #用这个方法设置属性太笨笨了,看上边可以更加便捷 # 实际上Entry的属性值可以使用的也为#normal/active/disabled,'readonly'与disabled一样 root.mainloop() '''''4.设置为密码输入框 #将Entry作为一个密码输入框来使用,即不显示用户输入的内容值,用特定符号代替。使用用属性 show来指定。 ''' from tkinter import * root = Tk() e = StringVar() entry = Entry(root, textvariable=e) e.set('input your text here') entry.pack() # 使用*来显示输入的内容,如果喜欢可以改为其它字符 entry['show'] = '*' # 分别使用*#$显示输入的文本内容 for mask in ['*', '#', '$']: e = StringVar() entry = Entry(root, textvariable=e) e.set('password') entry.pack() entry['show'] = mask root.mainloop() '''''5.验证输入的内容是否符合要求。 Entry 组件是支持验证输入内容的合法性的,比如要求输入数字,你输入了字母那就是非法。 实现该功能,需要通过设置 validate、validatecommand 和 invalidcommand 选项。 一、启用验证的“开关”是 validate 选项,该选项可以设置的值有: focus:当 Entry 组件获得或失去焦点的时候验证 focusin: 当 Entry 组件获得焦点的时候验证 focusout: 当 Entry 组件失去焦点的时候验证 key:当输入框被编辑的时候验证 all: 当出现上边任何一种情况的时候验证 二、是为 validatecommand 选项指定一个验证函数,该函数只能返回 True 或 False 表示验证的结果。 一般情况下验证函数只需要知道输入框的内容即可,可以通过 Entry 组件的 get() 方法获得该字符串。 三、invalidcommand 选项指定的函数只有在 validatecommand 的返回值为 False 的时候才被调用。 ''' from tkinter import * root = Tk() def test(): if e1.get() == '小甲鱼': print('正确') return True else: print('错误') e1.delete(0,END) return False def test2(): print('invalidcommand被调用了') return True v = StringVar() e1 = Entry(root,textvariable = v,validate = 'focusout',\ validatecommand = test,invalidcommand = test2) e2 = Entry(root) e1.pack() e2.pack() mainloop() # 还有其他的属性fg/bg/relief/width/height/justify/state使用方法与Button相同,不再举例。 [Python学习记录--关于Tkinter Entry(文本框)的选项、方法说明,以及一些示例。](http://www.cnblogs.com/onlyfu/archive/2013/03/07/2947473.html) ----------------------------------------------------- '''小甲鱼的例子''' from tkinter import * root = Tk() Label(root,text = '账号:').grid(row = 0) Label(root,text = '密码:').grid(row = 1) v1 = StringVar() v2 = StringVar() #将变量,通常是StringVar绑定到textvariable上 e1 = Entry(root,textvariable = v1) #将Entry作为一个密码输入框来使用,即不显示用户输入的内容值,用特定符号(这个符号可以用任意符号)代替。使用用属性show来指定,。 e2 = Entry(root,textvariable = v2,show = '*') e1.grid(row = 0,column = 1,padx = 10,pady = 5) e2.grid(row = 1,column = 1,padx = 10,pady = 5) #测试代码,不要管他,呵呵 def show(): print(e1.get()) print(e2.get()) e1.delete(0,END) e2.delete(0,END) Button(root,text = '提交',width = 10,command = show)\ .grid(row = 3,column = 0,sticky = W,padx = 10,pady = 5)#sticky选项控制网格管理器中组件的位置 Button(root,text = '退出',width = 10,command = root.quit)\ .grid(row = 3,column = 1,sticky = E,padx = 10,pady = 5) root.mainloop()
相关文章推荐
- 小白学tkinter(Text组件)
- 小白学tkinter(Message组件)
- 小白学tkinter(entry的验证函数)
- 小白学tkinter(单选Radiobutton组件)
- 小白学tkinter(Listbox组件 多选组件)
- 小白学tkinter(Canvas组件(画布))
- 小白学tkinter(Spinbox组件)
- 小白学tkinter(LabelFrame组件)
- 小白学tkinter(Text组件的Indexes(索引)用法)
- Python tkinter学习3 Entry与Text组件
- 小白学tkinter(Label(标签)组件)
- python Tkinter图形用户界面组件(Entry,Button)一
- 小白学tkinter(PanedWindow组件 框架结构划分)
- 小白学tkinter(Scale组件 用滑块表示某范围内的一个数字)
- 小白学tkinter(Toplevel组件(顶级窗口),用于弹窗)
- 小白学tkinter(Menu组件(菜单))
- 鱼c笔记——Python的GUI编程(四):Tkinter组件Entry
- 小白学tkinter(Text组件的Mark(标记)用法)
- 鱼c笔记——Python的GUI编程(六):Tkinter的Text组件
- python3中,Tkinter中关于Entry的登录案例