目录

前言

一、认识Entry

二、使用Entry

1.调用Entry

2.Entry **kw的属性

1) background或bg

2) borderwidth或bd

3) cursor

4) font

5) foreground或fg

6) highlightbackground,hightlightcolor和highlightthickness

7) insertbackground

8) insertwidth

9) insertofftime和insertontime

10) justify

11) selectbackground

12) selectforeground

13) show

14) state

15) width

3. Entry类的方法

 1) delete

2) get

3) index

4) insert

5) select_adjust

6) select_clear

7) select_from和select_to

8) select_present

三、展示


前言

我们做GUI,不光要有piu亮的外表,还要有功能性,不然你用个软件,很漂亮,结果按下按钮啥都没触发,那不就成销售界一大名言:“图片仅供参考”了?

而有些GUI要获得用户的意见,那么你不可能用按钮一个一个把用户可能说的话列出来吧?所以,就要用我们今天的主角——Entry(文本框)!

我这个版本是3.8.3,希望其他版本的人不要误会awa


一、认识Entry

Entry是一种单行文本框部件,文本框是一个计算机系统工具,在Word中文本框是指一种可移动、可调大小的文字或图形容器。在PowerPoint中,文本框是已经存在的,可以直接在文本框内编辑文字。

其实生活中我们都不大用Entry,你要输入内容,都是用Text这个Entry Max版,还有tkinter.scrolledtext的Scrolledtext这个Entry Pro Max版,要制作对话框的时候,Easygui和tkinter.simpledialog闪闪发光,但是我们先学好Entry,再学Entry Pro Max其他自行车

二、使用Entry

1.调用Entry

周所知众,Entry是tkinter本t库里面的一个类,语法如下:

Entry(master=None, cnf={}, **kw)

master:部件的父容器

cnf:我也不大明白qwq

**kw:对此部件指定的属性

**kw的属性貌似有这些……

background, bd, bg, borderwidth, cursor,
exportselection, fg, font, foreground, highlightbackground,
highlightcolor, highlightthickness, insertbackground,
insertborderwidth, insertofftime, insertontime, insertwidth,
invalidcommand, invcmd, justify, relief, selectbackground,
selectborderwidth, selectforeground, show, state, takefocus,
textvariable, validate, validatecommand, vcmd, width,xscrollcommand

也够令人眼前一黑的, 我挑一些重要的来讲把

2.Entry **kw的属性

1) background或bg

这个用来调整背景颜色,示例如下:

from tkinter import *
master=Tk()
entry=Entry(master,bg='green')
entry.pack()

2) borderwidth或bd

这个用来调整边框宽度,示例如下:

from tkinter import *
master=Tk()
entry=Entry(master,bd=10)
entry.pack()

3) cursor

这个用来调整鼠标经过时的光标样式,有这些:

arrow, xterm, watch, hand2, question_arrow, sb_h_double_arrow, sb_v_double_arrow, fleur, crosshair, based_arrow_down, based_arrow_up, boat, bogosity, top_left_corner, top_right_corner, bottom_left_corner, bottom_right_corner, top_side, bottom_side, top_tee, bottom_tee, box_spiral, center_ptr, circle, clock, coffee_mug, cross, cross_reverse, diamond_cross, dot, dotbox, double_arrow, top_left_arrow, draft_small, draft_large, left_ptr, right_ptr, draped_box, exchange, gobbler, gumby, hand1, heart, icon, iron_cross, left_side, right_side, left_tee, right_tee, leftbutton, middlebutton, rightbutton, ll_angle, lr_angle, man, mouse, pencil, pirate, plus, rtl_logo, sailboat, sb_left_arrow, sb_right_arrow, sb_up_arrow, sb_down_arrow, shuttle, sizing, spider, spraycan, star, target, tcross, trek, ul_angle, umbrella, ur_angle, X_cursor

太多了不一一解释了,示例:

from tkinter import *
master=Tk()
entry=Entry(master,cursor='arrow')
entry.pack()

 这里由于鼠标截图不到,所以就不展示了

4) font

这个用来调整文本框的字体,示例:

from tkinter import *
master=Tk()
entry=Entry(master,font=('楷体',30))
entry.pack()

5) foreground或fg

这个用来调整文本框字体的颜色,示例:

from tkinter import *
master=Tk()
entry=Entry(master,fg='red')
entry.pack()

6) highlightbackground,hightlightcolor和highlightthickness

这个highlightbackground,hightlightcolor用来调整打字的那个光标在和不在文本框时文本框的框架颜色,highlightthickness用来调整变颜色的边框的大小,示例:

from tkinter import *
master=Tk()
entry=Entry(master,highlightthickness=10,highlightbackground='black',highlightcolor='yellow')
entry.pack()

光标未放上时:

光标放上时:

7) insertbackground

这个用来调整打字的那个光标的颜色,示例:

from tkinter import *
master=Tk()
entry=Entry(master,insertbackground='green')
entry.pack()

 

8) insertwidth

这个用来调整打字的那个光标的宽度,示例:

from tkinter import *
master=Tk()
entry=Entry(master,insertwidth=30)
entry.pack()

 

9) insertofftime和insertontime

我们都知道光标是在闪烁的,这个insertofftime用来调整打字的那个光标不显示的时间,这个insertontime用来调整光标显示的时间,单位为毫秒,示例:

from tkinter import *
master=Tk()
entry=Entry(master,insertofftime=100,insertontime=1000)
entry.pack()

10) justify

这个用来调整文字对齐方式,示例:

from tkinter import *
master=Tk()
entry=Entry(master,justify=RIGHT)
entry.pack()

11) selectbackground

这个用来调整被选中区域的背景颜色,示例:

from tkinter import *
master=Tk()
entry=Entry(master,selectbackground='green')
entry.pack()

12) selectforeground

这个用来调整被选中区域文字的颜色,示例:

from tkinter import *
master=Tk()
entry=Entry(master,selectforeground='green')
entry.pack()

13) show

这个用来调整输入文字的代替值,就像输入密码的文本框一样,示例:

from tkinter import *
master=Tk()
entry=Entry(master,show='*')
entry.pack()

14) state

这个用来调整文本框的状态,有normal(普通),disabled(禁止),readonly(只读),示例:

from tkinter import *
master=Tk()
entry=Entry(master,state='disabled')
entry.pack()

15) width

这个用来调整文本框的宽度,单位是字符,示例:

from tkinter import *
master=Tk()
entry=Entry(master,width=10)
entry.pack()

3. Entry类的方法

类不单单有属性,还有方法,Entry类的方法有这些qwq:

delete,get,icursor,index,insert,selection_adjust,selection_clear,selection_from,
selection_present, selection_range, selection_to, xview,xview_moveto, xview_scroll

挑出几个重要的介绍下:

 1) delete

这个用来删除内容,示例:

from tkinter import *
master=Tk()
entry=Entry(master)
entry.insert('end','abcdefg')
entry.delete(1,5) #删除从first到last的全部字符
entry.pack()

2) get

这个用来获取内容,示例:

from tkinter import *
master=Tk()
entry=Entry(master)
entry.insert('end','abcdefg')
print(entry.get()) #输出全部字符
entry.pack()

输出:abcdefg

3) index

这个用来查找内容,示例:

from tkinter import *
master=Tk()
entry=Entry(master)
entry.insert('end','abcdefg')
print(entry.index('a'))
entry.pack()

输出:0

4) insert

这个用来插入字符,示例:

from tkinter import *
master=Tk()
entry=Entry(master)
entry.insert('end','abcdefg')
entry.insert('end','h')
entry.pack()

5) select_adjust

这个用来调整选中的范围,从光标位置选中到指定位置,示例:

from tkinter import *
master=Tk()
entry=Entry(master)
entry.insert('end','abcdefg')
entry.select_adjust(5)
entry.focus_force()
entry.pack()

6) select_clear

这个用来取消选中,示例:

from tkinter import *
master=Tk()
entry=Entry(master)
entry.insert('end','abcdefg')
entry.select_adjust(5)
entry.focus_force()
entry.select_clear()
entry.pack()

7) select_from和select_to

这个用来选中指定范围,示例:

from tkinter import *
master=Tk()
entry=Entry(master)
entry.insert('end','abcdefg')
entry.select_from(0)
entry.select_to(7)
entry.focus_force()
entry.pack()

8) select_present

这个用来判断全部字符中是否有字符被选中,示例:

from tkinter import *
master=Tk()
entry=Entry(master)
entry.insert('end','abcdefg')
entry.select_from(0)
entry.select_to(7)
entry.focus_force()
print(entry.select_present())
entry.pack()

输出:True

三、展示

from tkinter import *
master=Tk()
label=Label(master,text='请输入密码:')
entry=Entry(master,width=10,show='*')
entry.pack()

  


总结

以上就是今天要讲的内容了,观众们可以洗洗睡了~

如果我有什么没说对的,大家可以评论区告诉我,肥肠感谢!

非喜勿喷!!

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐