|
方法
|
作用
|
|
delete(first,last=None)
|
删除文本框里面索引值
|
|
get()
|
获取文本框的值
|
|
icursor(index)
|
将光标移动到指定索引位置
|
|
index(index)
|
返回指定的索引值
|
|
insert(index,s)
|
向文本框插入值
|
|
select_adjust(index)
|
选中指定索引和关标所在位置之前的值
|
|
select_clear()
|
清空文本框
|
|
select_from(index)
|
设置光标的位置,通过索引值index来设置
|
|
select_present()
|
如果选中,返回True
|
|
select_range(start,end)
|
选中指定索引位置的值
|
|
select_to(index)
|
选中指定索引与光标之间的值
|
3. Entry常用属性
|
属性
|
含义
|
|
height
|
设置文本框的高度,高度值每加1则加一行
|
|
width
|
设置文本框的宽度,宽度值每加1则加一个字节
|
|
insert
|
文本框插入数据,可以指定插入数据的位置
|
|
delete
|
删除文本框中的数据,可以通过数据位置,指定删除的数据
|
|
get
|
获取文本框中的数据,可以通过数据位置,指定获取的数据
|
|
relief
|
文本框样式,设置控件显示效果,可选的有:FLAT、SUNKEN、RAISED、GROOVE、RIDGE。
|
|
bd
|
设置文本框的边框大小,值越大边框越宽
|
|
bg
|
设置文本框默认背景色
|
|
fg
|
设置文本框默认前景色,即字体颜色
|
|
font
|
文本字体,文字字号,文字字形。字形有overstrike/italic/bold/underline
|
|
state
|
文本框状态选项,状态有DISABLED/NORMAL,DISABLED状态文本框无法输入,NORMAL状态可以正常输入
|
|
highlightcolor
|
设置文本框点击后的边框颜色
|
|
highlightthickness
|
设置文本框点击后的边框大小
|
4. 小试牛刀
📝我们使用Entry和Text组件来实操一下:
Entry实现登陆界面如下:
创建Account和Password是Label组件
self.lab = Label(self,text = "Account")
self.lab.pack()
self.lab2 = Label(self, text="Password")
self.lab2.pack()
账号和密码需要使用Entry组件来创建
账号/密码值是动态变化的,因此我们要使用到StringVar
⭐ StringVar知识点
整体实现框架使用官方推荐的面向对象写法,使用Application(Frame)把创建组件过程封装到CreateWidgetEntry()方法里,使用构造函数对Appication实例对象初始化就创建好了
最后完整实现的代码如下
from tkinter import *
class Application(Frame):
def __init__(self,master=None):
super().__init__(master)
self.master = master
self.pack()
self.CreatWidgetEntry()
def CreatWidgetEntry(self):
self.lab = Label(self,text = "Account")
self.lab.pack()
v1 = StringVar()
self.En = Entry(self,textvariable = v1)
self.En.pack()
v1.set("admin")
print(v1.get());print(self.En.get())
self.lab2 = Label(self, text="Password")
self.lab2.pack()
v2 = StringVar()
self.En2 = Entry(self, textvariable=v2,show = "*")
self.En2.pack()
Button(self,text = "Login",command = self.login).pack()
def login(self):
name = self.En.get()
pdw = self.En2.get()
print("Account:"+name)
print("Password:" + pdw )
print("数据校验")
if name == "admin" and pdw =="1234567":
messagebox.showinfo("Juejin","登陆成功")
else:
messagebox.showinfo("Juejin", "密码或者账号错误")
root = Tk()
root.geometry("400x130+200+300")
root.title("MyfirstAPP")
app = Application(master=root)
root.mainloop()
本期,我们学习Tkinter组件之文本输入框Entry单行文本框常用于登陆界面用户命名、密码等表单填写场景