Python Tkinter 之Entry控件(Python GUI 系列5)

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()

运行结果:

Python Tkinter 之Entry控件(Python GUI 系列5)_第1张图片

 

实例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()

运行结果:

Python Tkinter 之Entry控件(Python GUI 系列5)_第2张图片

 

实例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("", printInfo)
entry2=Entry(myWindow)
entry1.grid(row=0, column=1)
entry2.grid(row=1, column=1)

#进入消息循环
myWindow.mainloop()

运行结果:

Python Tkinter 之Entry控件(Python GUI 系列5)_第3张图片

点击“Return”按钮后

Python Tkinter 之Entry控件(Python GUI 系列5)_第4张图片

 

欢迎学习《Python快速学习》电子书

链接:https://gitbook.cn/gitchat/column/5ad56a79af8f2f35290f6535

Python Tkinter 之Entry控件(Python GUI 系列5)_第5张图片

 

你可能感兴趣的:(Python,Tkinter)