使用语法
widget = Entry( master, parameter=value, ... )
- master:文本框控件的父容器
- parameter:文本框的参数
- value:参数对应的值
各参数之间以逗号分隔。
参数说明:
width | 设置文本框的宽度,宽度值每加1则加一个字节 |
insert | 文本框插入数据,可以指定插入数据的位置 |
delete | 删除文本框中的数据,可以通过数据位置,指定删除的数据 |
get | 获取文本框中的数据,可以通过数据位置,指定获取的数据 |
relief | 文本框样式,设置控件显示效果,可选的有:FLAT、SUNKEN、RAISED、GROOVE、RIDGE。 |
bd | 设置文本框的边框大小,值越大边框越宽 |
bg | 设置文本框默认背景色 |
fg | 设置文本框默认前景色,即字体颜色 |
font | 文本字体,文字字号,文字字形。字形有overstrike/italic/bold/underline |
state | 文本框状态选项,状态有DISABLED/NORMAL,DISABLED状态文本框无法输入,NORMAL状态可以正常输入 |
highlightcolor | 设置文本框点击后的边框颜色 |
highlightthickness | 设置文本框点击后的边框大小 |
selectbackground | 选中文字的背景颜色 |
selectborderwidth | 选中文字的背景边框宽度 |
selectforeground | 选中文字的颜色 |
show | 指定文本框内容显示的字符 |
代码示例:
# -*- coding:utf-8 -*-
from tkinter import *
'''
NW N NE
W C E
SW S SE
'''
class Entrybox:
def __init__(self):
self.root = Tk()
self.root.title("文本框") # 设置窗口标题
self.root.geometry("600x600") # 设置窗口大小 注意:是x 不是*
'''文本框样式'''
# 设置文本框宽度为10,width=10表示宽度为两个字节
self.height_width_label = Label(self.root, text='文本框宽度:')
self.height_width_Entry = Entry(self.root, width=10)
# 文本框插入数据
self.insert_label = Label(self.root, text='文本框插入字符:')
self.insert_Entry = Entry(self.root, width=10)
self.insert_Entry.insert('0', '1234567890')
# 文本框删除数据
self.del_label = Label(self.root, text='文本框删除字符:')
self.del_Entry = Entry(self.root, width=10)
self.del_Entry.insert('0', '123456789')
self.button_del = Button(self.root, text='<==', command=self.delete_Entry)
# 文本框获取数据
self.get_label = Label(self.root, text='文本框获取字符')
self.get_Entry = Entry(self.root, width=10)
self.get_Entry.insert('0', '1234567890')
self.button_get = Button(self.root, text='获取字符', command=self.Entry_get)
# 文本框样式
self.relief_label = Label(self.root, text='文本框样式:')
self.flat_Entry = Entry(self.root, width=10, relief=FLAT)
self.flat_Entry.insert('0', '边框平坦')
self.sunken_Entry = Entry(self.root, width=10, relief=SUNKEN)
self.sunken_Entry.insert('0', '边框凹陷')
self.taised_Entry = Entry(self.root, width=10, relief=RAISED)
self.taised_Entry.insert('0', '边框凸起')
self.groove_Entry = Entry(self.root, width=10, relief=GROOVE)
self.groove_Entry.insert('0', '边框压线')
self.tidge_Entry = Entry(self.root, width=10, relief=RIDGE)
self.tidge_Entry.insert('0', '边框脊线')
# 文本框边框大小,bd='边框大小'
self.db_label = Label(self.root, text='边框大小:')
self.db_Entry = Entry(self.root, width=10, bd=5)
# 文本框后颜色,bg='背景色',fg='前景色'
self.colour_label = Label(self.root, text='文本框颜色:')
self.activebackground_Entry = Entry(self.root, width=10, bg='blue')
self.activeforeground_Entry = Entry(self.root, width=10, fg='blue')
# 文本框文字字体格式, font=('字体', 字号, 'bold/italic/underline/overstrike')
self.font_Label = Label(self.root, text='显示边框样式:')
self.font_Entry_1 = Entry(self.root, width=20, font=('软体雅黑', 10, 'overstrike'))
self.font_Entry_1.insert('0', '软体雅黑/10/重打印')
self.font_Entry_2 = Entry(self.root, width=20, font=('宋体', 10, 'italic'))
self.font_Entry_2.insert('0', '宋体/10/斜体')
self.font_Entry_3 = Entry(self.root, width=20, font=('黑体', 10, 'bold'))
self.font_Entry_3.insert('0', '黑体/10/加粗')
self.font_Entry_4 = Entry(self.root, width=20, font=('楷体', 10, 'underline'))
self.font_Entry_4.insert('0', '楷体/10/下划线')
# 文本框状态,禁用状态无法输入,正常状态可以输入
self.state_Label = Label(self.root, text='文本框状态:')
self.state_Entry_1 = Entry(self.root, width=20)
self.state_Entry_1.insert('0', '禁用状态')
self.state_Entry_1.config(state=DISABLED)
self.state_Entry_2 = Entry(self.root, width=20)
self.state_Entry_2.insert('0', '正常状态')
self.state_Entry_2.config(state=NORMAL)
# 文本框点击颜色,及颜色厚度。highlightcolor='颜色',highlightthickness=厚度
self.label_colour = Label(self.root, text='点击颜色/厚度:')
self.highlightcolor = Entry(self.root, width=10, highlightcolor='red', highlightthickness=1)
# 选中文字的背景颜色
self.selectbackground_label = Label(self.root, text='选中文字背景色:')
self.selectbackground_Entry = Entry(self.root, width=10, selectbackground='red')
self.selectbackground_Entry.insert('0', '1234567890')
# 选中文字的背景边框宽度
self.selectborderwidth_label = Label(self.root, text='选中文字背景边框宽度:')
self.selectborderwidth_Entry = Entry(self.root, width=10, selectborderwidth=3)
self.selectborderwidth_Entry.insert('0', '1234567890')
# 选中文字的颜色
self.selectforeground_label = Label(self.root, text='选中文字的颜色:')
self.selectforeground_Entry = Entry(self.root, width=10, selectforeground='red')
self.selectforeground_Entry.insert('0', '1234567890')
# 指定文本框内容显示为字符,值随意,满足字符即可。如密码可以将值设为 show="*"
self.show_label = Label(self.root, text='隐藏输入字符:')
self.show_Entry = Entry(self.root, width=10, show='*')
self.show_Entry.insert('0', '1234567890')
'''grid布局'''
self.height_width_label.grid(row=0, column=0, sticky=E)
self.height_width_Entry.grid(row=0, column=1, sticky=W)
self.insert_label.grid(row=1, column=0, sticky=E)
self.insert_Entry.grid(row=1, column=1, sticky=W)
self.del_label.grid(row=2, column=0, sticky=E)
self.del_Entry.grid(row=2, column=1, sticky=W)
self.button_del.grid(row=2, column=2, sticky=W)
self.get_label.grid(row=3, column=0, sticky=E)
self.get_Entry.grid(row=3, column=1, sticky=W)
self.button_get.grid(row=3, column=2, sticky=W)
self.relief_label.grid(row=4, column=0, sticky=E)
self.flat_Entry.grid(row=4, column=1, sticky=W)
self.sunken_Entry.grid(row=4, column=2, sticky=W)
self.taised_Entry.grid(row=4, column=3, sticky=W)
self.groove_Entry.grid(row=4, column=4, sticky=W)
self.tidge_Entry.grid(row=4, column=5, sticky=W)
self.db_label.grid(row=5, column=0, sticky=E)
self.db_Entry.grid(row=5, column=1, sticky=W)
self.colour_label.grid(row=6, column=0, sticky=E)
self.activebackground_Entry.grid(row=6, column=1, sticky=W)
self.activeforeground_Entry.grid(row=6, column=2, sticky=W)
self.font_Label.grid(row=7, column=0, rowspan=2, sticky=E)
self.font_Entry_1.grid(row=7, column=1, columnspan=2, sticky=W)
self.font_Entry_2.grid(row=7, column=3, columnspan=2, sticky=W)
self.font_Entry_3.grid(row=8, column=1, columnspan=2, sticky=W)
self.font_Entry_4.grid(row=8, column=3, columnspan=2, sticky=W)
self.state_Label.grid(row=9, column=0, sticky=E)
self.state_Entry_1.grid(row=9, column=1, columnspan=2, sticky=W)
self.state_Entry_2.grid(row=9, column=3, columnspan=2, sticky=W)
self.label_colour.grid(row=10, column=0, sticky=E)
self.highlightcolor.grid(row=10, column=1, sticky=W)
self.selectbackground_label.grid(row=11, column=0, sticky=E)
self.selectbackground_Entry.grid(row=11, column=1, sticky=W)
self.selectborderwidth_label.grid(row=12, column=0, sticky=E)
self.selectborderwidth_Entry.grid(row=12, column=1, sticky=W)
self.selectforeground_label.grid(row=13, column=0, sticky=E)
self.selectforeground_Entry.grid(row=13, column=1, sticky=W)
self.show_label.grid(row=14, column=0, sticky=E)
self.show_Entry.grid(row=14, column=1, sticky=W)
self.root.mainloop()
def delete_Entry(self):
self.del_Entry.delete('0', END)
def Entry_get(self):
print(self.get_Entry.get())
if __name__ == '__main__':
Entrybox()
效果展示:
相关文档推荐:
Python tkinter(一) 按钮(Button)组件的属性说明及示例
python tkinter(二) 下拉框(combobox)组件的属性说明及示例