常用的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()
原文:https://blog.51cto.com/13526792/2450876