模拟用户grid登陆

gui的使用,需要我们在开始导入tkinter库,控件船舰的模式都是使用tk库下下面的控件,而grid布局就类似于之前在vb中使用的mshflexgrid控件一样,是一种类似excal表格结构的布局

grid布局使用举例

lblname.grid(row=0,column=0)
使用row表示行索引
使用column表示列索引
使用rowspan表示行合并数量
使用columnspan表示列合并数量

lblname.grid(row=0,column=0,ipadx=10,ipady=10)
属性ipadx可以控制水平方向上的内边距
属性ipady可以控制垂直方向上的内边距
属性padx可以控制水平方向上的外边距
属性pady可以控制垂直方向上的外边距

模拟登陆案例

创建窗体对象
配置窗体对象
创建用户名标签,创建单行输入框放入grid布局
创建密码标签,创建单行密码输入框放入grid布局
创建一个登录按钮,创建重置按钮放入grid布局,需要先调整输入框列数量的合并
定义函数来登录模拟
重置按钮的使用,让变量与空间绑定

设置变量与控件的绑定

从tk库中创建string类型的变量对象——varname=tk.StringVar()

绑定变量与控件——entryname=tk.Entry(loginwin,textvariable=varname)

代码

import tkinter as tk
import tkinter.messagebox as msgbox

#自定义函数
def btnokclick():
    if entryname.get()=="12345" and entrypass.get()=="12345":
        #创建新的窗体
        mainwin=tk.Tk()
        mainwin.geometry("400x300+400+400")
        mainwin.title("干得不错虎子")
        #创建标签
        lbltishi=tk.Label(mainwin,text="虎子,你他娘的还真行啊")
        lbltishi.grid(row=0, column=0, ipadx=10, ipady=10)
    else:
        msgbox.showinfo("团长发来警报","虎子,你他娘的打歪了")
def btnresetclick():
    varname.set("")
    varpass.set("")
#创建登陆窗体
loginwin=tk.Tk()
loginwin.geometry("300x200+100+0")
loginwin.title("赏你二斤地瓜烧")

#创建用户命名标签
lblname=tk.Label(loginwin,text="用户名")
lblname.grid(row=0,column=0,ipadx=10,ipady=10)
#创建单行输入框
varname=tk.StringVar()
entryname=tk.Entry(loginwin,textvariable=varname)
entryname.grid(row=0,column=1,columnspan=2)
#创建密码标签
lblpass=tk.Label(loginwin,text="密码")
lblpass.grid(row=1,column=0)
#创建密码单行输入标签
varpass=tk.StringVar()
entrypass=tk.Entry(loginwin,show="*",textvariable=varpass)
entrypass.grid(row=1,column=1,columnspan=2)

#创建登陆按钮
btnok=tk.Button(loginwin,text="登陆",width=12,height=2,command=btnokclick)
btnok.grid(row=2,column=1)
#创建重置按钮
btnreset=tk.Button(loginwin,text="重置",width=12,height=2)
btnreset.grid(row=2,column=2)








loginwin.mainloop()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值