TKinter之输入框

TKinter之输入框

输入框是 Entry,应用程序要取得用户的信息,输入框是必不可少的。

输入框比较重要的一个函数:

  get:返回值即输入框的内容

  比如e是一个输入框,e['show']='*'就变成了密码框

小例子:用户登陆窗口,成功失败均有返回

示例代码

#!/usr/bin/env python

# _*_ coding:utf-8 _*_
from Tkinter import *
root = Tk()
 
#按扭调用的函数,
def reg():
    User = e_user.get()
    Pwd = e_pwd.get()
    len_user = len(User)
    len_pwd = len(Pwd)
    if User=='111' and Pwd == '222':
        l_msg['text']='登陆成功'
    else:
        l_msg['text']='用户名或密码错误'
        e_user.delete(0,len_user)
        e_pwd.delete(0,len_pwd)
 
#第一行,用户名标签及输入框
l_user =Label(root,text='用户名:')
l_user.grid(row=0,sticky=W)
e_user =Entry(root)
e_user.grid(row=0,column=1,sticky=E)
 
#第二行,密码标签及输入框
l_pwd = Label(root,text='密码:')
l_pwd.grid(row=1,sticky=W)
e_pwd = Entry(root)
e_pwd['show']='*'
e_pwd.grid(row=1,column=1,sticky=E)
 
#第三行登陆按扭,command绑定事件
b_login = Button(root,text='登陆',command=reg)
b_login.grid(row=2,column=1,sticky=E)
 
#登陆是否成功提示
l_msg = Label(root,text='')
l_msg.grid(row=3)
 
root.mainloop()

效果图:

成功登陆                                           登陆失败

  

再来一个小例子吧:

功能,两个复选框,被选中时下面已选中标签中有值,取消时,已选中标签的消息没有了

效果图:

#!/usr/bin/env python

# _*_ coding:utf-8 _*_
from Tkinter import *
#定义一个root主窗口
root = Tk()
#定义两个变量,用于判断复选框状态
box_1 = False
box_2 = False
#列表,用于存放选中内容
List_Content = []
 
def click_c1():
    global box_1
    #复选框被选中,box_1置为True
    box_1 = not box_1
    if box_1:
        List_Content.append('Windows')
        l['text']=List_Content
    else:
        List_Content.remove('Windows')
        l['text']=List_Content
 
def click_c2():
    global box_2
    box_2 = not box_2
    if box_2:
        List_Content.append('Linux')
        l['text']=List_Content
    else:
        List_Content.remove('Linux')
        l['text']=List_Content
#定义两个复选框,并绑定相关事件
ck1 = Checkbutton(root,text='Windows',command=click_c1)
ck1.grid(row=0,column=1)
ck2 = Checkbutton(root,text='Linux',command=click_c2)
ck2.grid(row=1,column=1)
 
l_com = Label(root,text='已选中:')
l_com.grid(row=2,column=0)
 
l = Label(root,text='')
l.grid(row=2,column=1)
root.mainloop()
原文地址:https://www.cnblogs.com/hwllovelq/p/11676784.html