python tkinter Entry的使用
Entry功能真大啊!
目录
6) highlightbackground,hightlightcolor和highlightthickness
前言
我们做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()
总结
以上就是今天要讲的内容了,观众们可以洗洗睡了~
如果我有什么没说对的,大家可以评论区告诉我,肥肠感谢!
非喜勿喷!!
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)