python用tkinter创建一个登录界面,如何用tkinter实现页面跳转
我为我的异步传输模式模拟程序创建了一个登录页框架,我无法使我的登录按钮正确运行。我的登录页面有两个输入字段,帐号和个人识别码号码。我希望能够打开一个新的框架窗口,我创建了一个名为"欢迎页面",如果帐户号码与我创建的帐户号码匹配,如果个人识别码号码与我创建的个人识别码号码匹配。如果没有,它将保留在登录页面上。这是我目前为止的全部剧本#!/usr/细心的音响/python
来自tkinter导入*
从图形界面导入天天快递
将图形界面作为坦克导入
Large_Font=(Verdana ,18)
Small_Font=(Verdana ,12)
act=1234567
pin=1234
异步传输模式类(tk .Tk):
def __init__(self,*args,**kwargs):
tk.Tk.__init__(self,*args,**kwargs)
tk .Tk.wm_title(self, ATM模拟器)
#tk .Tk.iconbitmap(self,default=atm.ico )
容器=tk .框架(自身)
container.pack(side=top ,fill=both ,expand=True)
集装箱。grid _ row配置(100,权重=1)
集装箱。grid _ column配置(100,权重=1)
self.frames={}
对于我在(登录、欢迎页面、查询、储蓄、转账):
框架=i(容器,自身)
self.frames[i]=frame
框架.网格(行=100,列=100,sticky= nsew )
self.show_frame(登录)
定义显示帧(自身,续):
框架=自我。框架[续]
frame.tkraise()
类登录(tk .框架):
def __init__(自身,父,控制器):
全局actEntry
全球派恩特里
tk.Frame.__init__(self,parent)
logLabel=ttk .标签(self,text=使用您的帐号和别针登录,font=Large_Font)
logLabel.pack(side=TOP,anchor=N,expand=YES)
actLabel=Label(self,text=帐号:)
pinLabel=Label(self,text=PIN Number:)
actEntry=Entry(自身)
pinEntry=Entry(self,show=* )
actLabel.pack(pady=10,padx=10,side=TOP,anchor=N)
pinLabel.pack(pady=5,padx=10,side=TOP,anchor=S)
actEntry.pack(pady=10,padx=10,side=TOP,anchor=N)
pinEntry.pack(pady=5,padx=10,side=TOP,anchor=S)
#运行"登录检查"功能
登录按钮=ttk .按钮(self,text=Enter ,
命令=自我LogInCheck)
logInButton.pack(侧=顶,锚=S)
quitButton=ttk按钮(self,text=Quit ,command=quit)
quitButton.pack(side=底部锚点)
定义登录检查(自我):
actNum=actEntry.get()
pinNum=pinEntry.get()
如果actNum==act且pinNum==pin:
返回
self.show_frame(欢迎页面)
否则:
返回
self.show_frame(登录)
班级欢迎页面(tk .框架):
#欢迎页面窗口
def __init__(自身,父,控制器):
tk.Frame.__init__(self,parent)
label=ttk .标签(self,text=欢迎使用自动柜员机模拟器,font=Large_Font)
label.pack(pady=100,padx=100)
checkButton=ttk .按钮(self,text=支票帐户,
命令=:控制器。显示帧(检查))
checkButton.pack()
保存按钮=ttk .按钮(self,text=储蓄帐户,
命令=:控制器。show _ frame(节约))
saveButton.pack()
transButton=ttk .按钮(self,text=转移资金,
命令=:控制器。show _ frame(传送))
transButton.pack()
quitButton=ttk按钮(self,text=结束事务,command=self.client_exit)
quitButton.pack()
定义客户端_退出(自身):
退出()
类检查(tk .框架):
#支票账户窗口
def __init__(自身,父,控制器):
tk.Frame.__init__(self,parent)
自我控制器=控制器
标签=tk .标签(self,text=支票帐户,font=Large_Font)
label.pack(pady=100,padx=100)
homeButton=ttk .按钮(self,text=返回主页,
命令=:控制器。show _ frame(欢迎页面))
homeButton.pack()
quitButton=ttk按钮(self,text=结束事务,命令=退出)
quitButton.pack()
阶级储蓄(tk .框架):
#储蓄账户窗口
def __init__(自身,父,控制器):
tk.Frame.__init__(self,parent)
自我控制器=控制器
label=ttk .标签(self,text=储蓄帐户,font=Large_Font)
label.pack(pady=100,padx=100)
homeButton=ttk .按钮(self,text=返回主页,
命令=:控制器。show _ frame(欢迎页面))
homeButton.pack()
quitButton=ttk按钮(self,text=结束事务,命令=退出)
quitButton.pack()
阶级转移(tk .框架):
#转帐窗口
def __init__(自身,父,控制器):
tk.Frame.__init__(self,parent)
自我控制器=控制器
label=ttk .标签(self,text=转移资金,font=Large_Font)
label.pack(pady=100,padx=100)
homeButton=ttk .按钮(self,text=返回主页,
命令=:控制器。show _ frame(欢迎页面))
homeButton.pack()
quitButton=ttk按钮(self,text=结束事务,命令=退出)
quitButton.pack()
自动柜员机=自动柜员机()
atm.mainloop()
默认帐号1234567和我创建的默认别针是1234。我计划使用泡菜模块创建一个包含帐号和别针的字典,但是现在我只想用这些帐号登录。我欢迎任何关于如何实现这一点和如何改进我的脚本的建议,谢谢!在
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。