tkinter中Entry怎么用
admin
2023-06-29 02:43:04
0

文本框Entry通常是单行的文本框,使用格式如下:
Entry(父对象,options,...)

常用的options参数:

bg或background:背景颜色。

borderwidth或bd:边界宽度,默认是2像素。

command:当用户更改内容时,会自动执行此函数。

cursor:当鼠标在复选框上时的形状。

exportselection:如果执行选取时,所选取的字符会自动输出至剪切板,如果想要避免exportselection=0。

fg:前景颜色。

font:字形。

height:高,单位是字符。

highlightbackground:当文本框取得焦点时的背景颜色。

highlightcolor:当文本框取得焦点时的颜色。

justify:当含多行文字时,最后一行的对齐方式。

relief:控制文字外框,默认是relief=FLAT

selectbackground:被选取字符串的背景颜色。

selectborderwidth:选取字符串时的边界宽度,预设是1。

selectforeground:被选取字符串的前景色。

show:显示输入的字符串,show='*'表示显示星号,常用于输入密码字段。

state:输入状态,默认是NORMAL,表示可以输入,DISABLE表示无法输入。

textvariable:文字变量。

width:宽,默认是字符。

xscrollcommand:在x轴使用滚动条。

36一个简单的实例:

from tkinter import *
win=Tk()
label1=Label(win,text="用户名")
label2=Label(win,text="密码")
name=Entry(win)
passwd=Entry(win,show="*")
label1.grid(row=0,column=0)
label2.grid(row=1,column=0)
name.grid(row=0,column=1)
passwd.grid(row=1,column=1)
win.mainloop()

Entry中有一个get()方法,可以用来获取目前Entry字符串的内容。

37、登陆案例进一步:

from tkinter import *
win=Tk()
def printview():
    print("Name :%s\npasswd:%s"%(name.get(),passwd.get()))

label1=Label(win,text="Name")
label1.grid(row=0,column=0)
label2=Label(win,text="passwd")
label2.grid(row=1,column=0)
name=Entry(win)
name.grid(row=0,column=1)
passwd=Entry(win,show="*")
passwd.grid(row=1,column=1)
login=Button(win,text="登陆",command=printview)
login.grid(row=2,column=0)
exit=Button(win,text="退出")
exit.grid(row=2,column=1)
win.mainloop()

Entry的insert方法,在Entry控件中可以使用insert(index,s)方法插入字符串,s是所插入的字符串,字符串会插在index位置;

38 insert的使用:

from tkinter import *
win=Tk()
label1=Label(win,text="Name")
label1.grid(row=0,column=0)
label2=Label(win,text="passwd")
label2.grid(row=1,column=0)
name=Entry(win)
name.grid(row=0,column=1)
passwd=Entry(win,show="*")
passwd.grid(row=1,column=1)
name.insert(0,"john")
passwd.insert(0,"123456")
win.mainloop()

Entry的delete方法,delete(first,last=None)删除Entry内从first字符到first-1字符间的字符串,如果要删除整个字符串使用delete(0,END)。

39 delete的使用

from tkinter import *
win=Tk()
def showview():
print("name:%s\npasswd:%s"%(name.get(),passwd.get()))
name.delete(0,END)
passwd.delete(0,END)

label1=Label(win,text="name")
label1.grid(row=0,column=0)
label2=Label(win,text="passwd")
label2.grid(row=1,column=0)
name=Entry(win)
name.grid(row=0,column=1)
passwd=Entry(win,show="*")
passwd.grid(row=1,column=1)
button1=Button(win,text="login",command=showview)
button1.grid(row=2,column=0)
button2=Button(win,text="quit",command=win.quit)
button2.grid(row=2,column=1)
win.mainloop()

计算数学表达式eval;

40 eval的使用:

from tkinter import *
win=Tk()
def showview():
    out.configure(text="结果"+str(eval(equ.get())))

label=Label(win,text="请输入表达式")
label.pack()
equ=Entry(win)
equ.pack(pady=5)
out=Label(win)
out.pack()
button=Button(win,text="计算",command=showview)
button.pack()
win.mainloop()

相关内容

热门资讯

解放军少将质问日方:有没有资格... 【环球时报-环球网报道 记者 郭媛丹 苏雅瑄】 “殷鉴不远,今天的世界又处在新的十字路口,我们必须警...
《给阿嬷的情书》导演被网友二创... 《给阿嬷的情书》这段解读直接破防!网友二创还原木生守桥的画面,把邮差落水,弄丢写有真相的讣告信件,解...
伊朗最高领袖顾问批特朗普背弃外... 据凤凰卫视报道,美伊谈判前景不明,伊朗最高领袖顾问雷扎伊5月30日指责美国总统特朗普第三次背弃外交原...
免去南开大学陈某院长、中山大学... 刚刚,南开大学和中山大学发布情况通报。南开大学:免去陈某院长职务南开大学通报中指出,论文第一作者郑某...
绿色算力全栈AI平台在呼和浩特...   新华社呼和浩特5月30日电(记者侯维轶)30日,绿色算力全栈AI平台——内蒙古词元交易平台在内蒙...
北京太空智算研究院在北京亦庄成... 红星资本局5月30日消息,近日,北京太空智算研究院在北京经济技术开发区(简称“北京经开区”,又称“北...
第二届西部医学科技创新学术大会... 封面新闻记者 邱添 2026年5月30日,在第十个全国科技工作者日来临之际,一场汇聚医学前沿智慧与创...
地博光电取得存储自动化料库专利... 国家知识产权局信息显示,昆山地博光电材料有限公司取得一项名为“一种存储自动化料库”的专利,授权公告号...
香港政务司司长谈黎家盈:香港由... 据凤凰卫视报道,首位来自香港的载荷专家黎家盈早前随神舟二十三号载人飞船升空。香港政务司司长陈国基表示...
亚美尼亚大选在即,俄方突然召回... 【文/观察者网 阮佳琪】当地时间周五(5月29日),在哈萨克斯坦首都阿斯塔纳,亚美尼亚由副总理格里戈...