python学习tkinter笔记
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习tkinter笔记相关的知识,希望对你有一定的参考价值。
本次主要是学习记录一下如何做输入输出框口,比如制作密码界面之类的。
下面是一个简单的输入框的制作:
from tkinter import * root = Tk() e = Entry(root)#输入框 e.pack(padx=20,pady=20) e.delete(0,END) #把窗口从0到最后清空 e.insert(0,"默认文本") # 在0处放入默认文本字样 mainloop()
稍微复杂的框框
from tkinter import * root = Tk() Label(root,text="作品:").grid(row=0,column=0)#grid中关系着元素的网格布局第0行第0个位置 Label(root,text="作者:").grid(row=1,column=0)#布局第1行第0个位置 e1=Entry(root) e2=Entry(root) e1.grid(row=0,column=1,padx=10,pady=5)#布局在(0,1)位置 e2.grid(row=1,column=1,padx=10,pady=5)#布局在(1,1)位置 def show(): print("作品:《%s》"%e1.get())#通过调用Entry的get()函数可以得到输入的字符串 print("作者:《%s》"%e2.get()) Button(root,text="获取信息",width=10,command=show).grid(row=3,column=0,sticky=W,padx=10,pady=5) #width关系着按键长度,command是按下按键后的函数调用,sticky为W该模块靠左放置 Button(root,text="退出",width=10,command=root.quit).grid(row=3,column=1,sticky=E,padx=10,pady=5) #root.grid是退出该窗口的函数,sticky为E该模块靠有放置 mainloop()
如果是账号密码,如何使密码用*来表示呢?
from tkinter import * root = Tk() Label(root,text="账号:").grid(row=0,column=0) Label(root,text="密码:").grid(row=1,column=0) v1 = StringVar() v2 = StringVar() e1=Entry(root,textvariable=v1) e2=Entry(root,textvariable=v2,show="*")#用*显示输入 #show是代表着输入字符的展示形式,如上可以是*,但是也可以是其他的字符,比如¥$等等 e1.grid(row=0,column=1,padx=10,pady=5) e2.grid(row=1,column=1,padx=10,pady=5) def show(): print("账号:%s"%e1.get())#Entry.get()可以获得输入的字符串 print("密码:%s"%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) Button(root,text="退出",width=10,command=root.quit).grid(row=3,column=1,sticky=E,padx=10,pady=5) mainloop()
from tkinter import * master = Tk() def test(): if e1.get()=="hello": print("正确") return True else: print("错误") e1.delete(0,END) return False v=StringVar() e1=Entry(master,textvariable=v,validate="focusout", validatecommand=test)#validate为focusout的意思是,当光标移除的时候将会调用validatecommand #invalidcommand是在validatecommand显示非法的时候调用 e2=Entry(master) e1.pack(padx=10,pady=10) e2.pack(padx=10,pady=10) mainloop()
以上是关于python学习tkinter笔记的主要内容,如果未能解决你的问题,请参考以下文章
Python:GUI之tkinter学习笔记1控件的介绍及使用