菜鸟IT的博客 >> Python
模拟登录框,登录界面开发,创建新的string对象与控件按钮绑定
# 【1】导入库↓顺便给tkinter库取个别名为tk,
# 好处是调用的时候更方便调用。
import tkinter as tk
import tkinter.messagebox as msgbox
# 【2】创建登录窗体
loginWin=tk.Tk()
# 【3.2】初始化这个界面的显示大小的同时,具体左边和顶部的距离
# 【3.2】小写字母x代表乘号,+号表示位置距离
loginWin.geometry("250x130+300+500")
# 自定义登录按钮的函数,设置登录账号和登录密码
def btnOK_Click():
if entryName.get()=="ljy" and entryPass.get()==".kim":
# 创建新的弹出窗口
mainWin=tk.Tk()
mainWin.geometry("400x300+200+200")
mainWin.title("编程创造城市")
else:
msgbox.showinfo("消息","用户名或者密码错误!")
# 自定义重置按钮的函数
def btnReset_Click():
varName.set("")
varPass.set("")
# 【4】软件界面顶部显示名称以及版本号
loginWin.title("实战模拟登录")
# 【5.1】创建用户名标签,
# 使用columnspan表示“列”合并数量
lblname=tk.Label(loginWin,text="用户名")
# 【5.2】把这个文本标签布局到当前窗体的坐标位置
# row代表“行”索引,colnum代表“列”索引
# ipadx表示当前这个标签水平方向内边距增加10像素,ipady垂直方向内边距增加10像素。
# padx代表水平方向外边距,pady代表垂直方向外边距。
lblname.grid(row=0,column=0,ipadx=15,ipady=15)
# 【6.1】创建用户名单行输入框,创建String类型的对象
# 创建1个string类型和输入账号的输入文本绑定。
varName=tk.StringVar()
entryName=tk.Entry(loginWin,textvariable=varName)
# 【6.2】把这个用户名单行输入框布局到当前窗体的坐标位置,并且是输入框占2列,实际合并为1列
entryName.grid(row=0,column=1,columnspan=2)
# 【7.1】创建密码标签,
# 使用columnspan表示“列”合并数量
lblPass=tk.Label(loginWin,text="密 码")
# 【7.2】把这个文本标签布局到当前窗体的坐标位置
# row代表“行”索引,colnum代表“列”索引
lblPass.grid(row=1,column=0)
# 【8.1】创建密码单行输入框,顺便让密码文本显示星号
# 创建1个string类型和密码输入密码输入文本绑定。
varPass=tk.StringVar()
entryPass=tk.Entry(loginWin,show="●",textvariable=varPass)
# 【8.2】把这个密码单行输入框布局到当前窗体的坐标位置,并且是输入框占2列,实际合并为1列
entryPass.grid(row=1,column=1,columnspan=2)
# 【9】创建登录按钮,顺便设置宽度
btnOK=tk.Button(loginWin,text="登录",width=8,command=btnOK_Click)
btnOK.grid(row=2,column=1)
# 【10】创建重置按钮,顺便设置宽度
btnReset=tk.Button(loginWin,text="重置",width=8,command=btnReset_Click)
btnReset.grid(row=2,column=2)
# ------末尾必须放死循环代码---分割线------ #
# 【End.1】持续显示软件界面,相当于死循环,↓
# 【End.1】这个窗体的作用是监听这个界面发生的一切事件,包括鼠标点击动作。
# 【End.1】下面这个死循环代码必须放在最后面。
tk.mainloop()
菜鸟IT博客[2021.11.04-11:53] 访问:400