首页 > 其他 > 详细

04-tkinter之Entry笔记

时间:2019-11-17 22:43:30      阅读:98      评论:0      收藏: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()

04-tkinter之Entry笔记

原文:https://blog.51cto.com/13526792/2450876

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!