本章介绍Tkinter的Entry控件,本文是Python GUI系列的第5篇文章,整个系统约20篇博客,将全面的介绍Python Tkinter常用控件,最后还将基于Tkinter搭建两个比较完整的小项目。
********************************
本系列运行平台:Mac OS 10.13.4
Python 版本:3.6.4
********************************
Entry 是Tkinter 用来接收字符串等输入的控件. 该控件允许用户输入一行文字. 如果用户输入的文字长度长于Entry 控件的宽度时, 文字会向后滚动. 这种情况下所输入的字符串无法全部显示. 点击箭头符号可以将不可见的文字部分移入可见区域. 如果你想要输入多行文本, 就需要使用Text 控件.
用法:Entry(根对象, [属性列表]),常用的属性有:
属性参数 |
说明 |
master |
代表了父窗口 |
bg |
设置背景颜色,如bg=‘red’ |
fg |
设置前景颜色 |
font |
设置字体大小,如font=('Helvetica 10 bold') |
relief |
指定外观装饰边界附近的标签,默认是平的,可以设置的参数;flat、groove、raised、ridge、solid、sunken,如relief=‘groove’ |
bd |
设置Button的边框大小;bd(bordwidth)缺省为1或2个像素 |
textvariable |
设置Button与textvariable属性 |
以下来看一组实例:
from Tkinter import*
#初始化Tk()
myWindow = Tk()
#设置标题
myWindow.title('Python GUI Learning')
#标签+单行文本框
Label(myWindow, text="userName").grid(row=0)
Label(myWindow, text="password").grid(row=1)
Entry(myWindow).grid(row=0, column=1)
Entry(myWindow).grid(row=1, column=1)
#进入消息循环
myWindow.mainloop()
运行结果:
from Tkinter import*
#初始化Tk()
myWindow = Tk()
#设置标题
myWindow.title('Python GUI Learning')
#标签+单行文本框
Label(myWindow, text="userName").grid(row=0)
Label(myWindow, text="password").grid(row=1)
entry1=Entry(myWindow)
entry2=Entry(myWindow)
entry1.grid(row=0, column=1)
entry2.grid(row=1, column=1)
#为Entry控制设置默认值
entry1.insert(10,'Jack')
entry2.insert(10,'*******')
#获取Entry控件中的文本
print(entry1.get())
print(entry2.get())
#进入消息循环
myWindow.mainloop()
运行结果:
from Tkinter import*
def printInfo(event):
#清理entry2
entry2.delete(0, END)
#将entry1接收到的文本插入entry2
entry2.insert(10, entry1.get())
#清空entry2控件
entry1.delete(0, END)
#初始化Tk()
myWindow = Tk()
#设置标题
myWindow.title('Python GUI Learning')
#标签+单行文本框
Label(myWindow, text="input").grid(row=0)
Label(myWindow, text="output").grid(row=1)
#Entry绑定回车事件
entry1=Entry(myWindow)
entry1.bind("", printInfo)
entry2=Entry(myWindow)
entry1.grid(row=0, column=1)
entry2.grid(row=1, column=1)
#进入消息循环
myWindow.mainloop()
运行结果:
点击“Return”按钮后
欢迎学习《Python快速学习》电子书
链接:https://gitbook.cn/gitchat/column/5ad56a79af8f2f35290f6535