2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > GUI 图形用户界面编程(五)-登录页面

GUI 图形用户界面编程(五)-登录页面

时间:2021-04-19 08:43:25

相关推荐

GUI 图形用户界面编程(五)-登录页面

感谢优秀的你打开了小白的文章

“希望在看文章的你今天又进步了一点点,离美好生活更近一步!”??

??Entry组件

首先来介绍一下Entry组件,Entry 用来接收一行字符串的控件。如果用户输入的文字长度长于 Entry 控件的宽度时, 文字会自动向后滚动。如果想输入多行文本, 需要使用 Text 控件。

??参数

Entry(master=None, **options) (class)

master – 父组件

**options – 组件选项,下方表格详细列举了各个选项的具体含义和用法:

选项 含义

background1. 设置 Entry 的背景颜色

2. 默认值由系统指定

bg和background 用法一样

borderwidth1. 设置 Entry 的边框宽度

2. 默认值是 1 或 2 像素

bd和borderwidth 一样

cursor1. 指定当鼠标在 Entry 上飘过的时候的鼠标样式

2. 默认值由系统指定

exportselection1. 指定选中的文本是否可以被复制到剪贴板

2. 默认值是 True

3. 可以修改为 False 表示不允许复制文本

font1. 指定 Entry 中文本的字体

2. 默认值由系统指定

foreground1. 设置 Entry 的文本颜色

2. 默认值由系统指定

fg跟 foreground 一样

highlightbackground1. 指定当 Entry 没有获得焦点的时候高亮边框的颜色

2. 默认值由系统指定

highlightcolor1. 指定当 Entry 获得焦点的时候高亮边框的颜色

2. 默认值由系统指定

highlightthickness1. 指定高亮边框的宽度

2. 默认值是 1 或 2 像素

insertbackground指定输入光标的颜色

insertborderwidth1. 指定输入光标的边框宽度

2. 如果被设置为非 0 值,光标样式会被设置为 RAISED

insertofftime1. 该选项控制光标的闪烁频率(灭)

insertontime1. 该选项控制光标的闪烁频率(亮)

insertwidth指定光标的宽度

invalidcommand1. 指定当输入框输入的内容“非法”时调用的函数

2. 也就是指定当 validateCommand 选项指定的函数返回 False 时的函数

invcmd跟 invalidcommand 一样

justify1. 定义如何对齐输入框中的文本

2. 使用 “left”,“right” 或 “center”

3. 默认值是 “left”

relief1. 指定边框样式

2. 默认值是 “sunken”

3. 其他可以选择的值是 “flat”,“raised”,“groove” 和 “ridge”

selectbackground指定输入框的文本被选中时的背景颜色

selectborderwidth指定输入框的文本被选中时的边框宽度(选中边框)

selectforeground指定输入框的文本被选中时的字体颜色

show1. 设置输入框如何显示文本的内容

2. 如果该值非空,则输入框会显示指定字符串代替真正的内容

3. 将该选项设置为 “*”,则是密码输入框

state1. Entry 组件可以设置的状态:“normal”,“disabled” 或 “readonly”(注意,它跟 “disabled” 相似,但它支持选中和拷贝,只是不能修改,而 “disabled” 是完全禁止)

2. 默认值是 “normal”

3. 如果此选项设置为 “disabled” 或 “readonly”,那么调用 insert() 和 delete() 方法都会被忽略

takefocus1. 指定使用 Tab 键可以将焦点移动到输入框中

2. 默认是开启的,可以将该选项设置为 False 避免焦点在此输入框中

textvariable1. 指定一个与输入框的内容相关联的 Tkinter 变量(通常是 StringVar)

2. 当输入框的内容发生改变时,该变量的值也会相应发生改变

validate1. 该选项设置是否启用内容验证

validatecommand1. 该选项指定一个验证函数,用于验证输入框内容是否合法

2. 验证函数需要返回 True 或 False 表示验证结果

vcmd跟 validatecommand 一样

width1. 设置输入框的宽度,以字符为单位

2. 默认值是 20

3. 对于变宽字体来说,组件的实际宽度等于字体的平均宽度乘以 width 选项的值

xscrollcommand与 scrollbar(滚动条)组件相关联

??强化实例

"""测试Entry组件的基本用法,使用面向对象的方式"""from tkinter import *from tkinter import messageboxclass Application(Frame):def __init__(self, master=None):super().__init__(master) # super()代表的是父类的定义,而不是父类对象self.master = masterself.pack()self.createWidget()def createWidget(self):"""创建登录界面的组件"""self.label01 = Label(self,text="用户名")self.label01.pack()# StringVar变量绑定到指定的组件。# StringVar变量的值发生变化,组件内容也变化;# 组件内容发生变化,StringVar变量的值也发生变化。v1 = StringVar()self.entry01 = Entry(self,textvariable=v1)self.entry01.pack()v1.set("admin")print(v1.get());print(self.entry01.get())# 创建密码框self.label02 = Label(self,text="密码")self.label02.pack()v2 = StringVar()self.entry02 = Entry(self,textvariable=v2, show="*")self.entry02.pack()Button(self,text="登陆",command=self.login).pack()def login(self):username = self.entry01.get()pwd = self.entry02.get()print("load......")print("用户名:"+username)print("密码:"+pwd)if username=="xiaobai" and pwd=="123456":messagebox.showinfo("登录拼夕夕抢iPhone13", "登录成功!已获得iPhone13!")else:messagebox.showinfo("登录拼夕夕抢iPhone13","登录失败!用户名或密码错误!")if __name__ == '__main__':root = Tk()root.geometry("400x130+200+300")app = Application(master=root)root.mainloop()

登录成功时:

登录失败时:

??往期回顾

??GUI 图形用户界面编程(一):(278条消息) GUI 图形用户界面编程(一)_am_student的博客-CSDN博客

??GUI 图形用户界面编程(二):

(278条消息) GUI 图形用户界面编程(二)经典案例_am_student的博客-CSDN博客

??GUI 图形用户界面编程(三):

(278条消息) GUI 图形用户界面编程(三)基本框架与Label的使用_am_student的博客-CSDN博客

??GUI 图形用户界面编程(四):

(278条消息) GUI 图形用户界面编程(四)-Button组件_am_student的博客-CSDN博客

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。