码迷,mamicode.com
首页 > 编程语言 > 详细

python学习tkinter笔记(4)

时间:2017-08-14 21:19:59      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:and   string   如何   insert   ack   test   focus   通过   bsp   

本次主要是学习记录一下如何做输入输出框口,比如制作密码界面之类的。

下面是一个简单的输入框的制作:

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笔记(4)

标签:and   string   如何   insert   ack   test   focus   通过   bsp   

原文地址:http://www.cnblogs.com/Floating-leaf/p/7360011.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!