Python Tkinter 之Entry控件(Python GUI 系列5)
程序员文章站
2022-04-12 09:47:21
...
Python Tkinter 之Entry控件(Python GUI 系列5)
1. 序言
本章介绍Tkinter的Entry控件,本文是Python GUI系列的第5篇文章,整个系统约20篇博客,将全面的介绍Python Tkinter常用控件,最后还将基于Tkinter搭建两个比较完整的小项目。
2. 环境信息
********************************
本系列运行平台:Mac OS 10.13.4
Python 版本:3.6.4
********************************
3. Entry控件
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属性 |
以下来看一组实例:
4. 一组实例
实例1:标签+单行文本输入框,grid布局
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()
运行结果:
实例2:Entry控件,设置默认值,获取控件文本
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()
运行结果:
实例3:Entry控件绑定回车事件及其响应函数
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("<Return>", printInfo)
entry2=Entry(myWindow)
entry1.grid(row=0, column=1)
entry2.grid(row=1, column=1)
#进入消息循环
myWindow.mainloop()
运行结果:
点击“Return”按钮后
推荐阅读
-
Python Tkinter之Button控件介绍
-
Python Tkinter 之Canvas控件(Python GUI 系列11)
-
Python:GUI之tkinter学习笔记之messagebox、filedialog
-
python tkinter Entry控件的焦点移动操作
-
Python GUI之Tkinter
-
Python系列5之模块
-
Python GUI开发之Tkinter基础篇5:Listbox、Scrollbar组件
-
Python Tkinter 之Canvas控件(Python GUI 系列11)
-
Python Tkinter之Button控件介绍
-
PyQt5每天必学之滑块控件QSlider_python