如何在Tkinter中浏览页面?

问题描述

对于我的项目,当我单击一个按钮时-页面必须导航到另一个。而且每次执行此操作时,它都会创建一个不同的窗口(因此会导致很多窗口)或彼此堆叠在一起

目前,我有一个管理员/学生选择页面。而且,如果我单击学生页面,它将运行学生登录功能,这对管理员同样适用。

我也想保持窗口的背景一致-但是我无法做到这一点,最重要的是,我不知道如何浏览页面-我看了一些视频,但是我确实做到了不太了解。

contains 2 buttons admin and student which should navigate to different "windows" when clicked

def mainPage():
""""Starting Page - which navigates to the approporate login,when user logs it navigates back to this window"""
    root = Tk()
    root.geometry('1024x600')
    load = PIL.Image.open('Image//book.jpg')
    render = ImageTk.PhotoImage(load)
    img =Label(root,image = render)
    img.place(x=0,y=0)
    my_font = font.Font(size = 15)
    buttonFrame = Frame(root,width = 600,height=300,bg="grey")
    buttonFrame.grid(row = 0,column = 0,padx= 10,pady=2,sticky="")

    label = Label(buttonFrame,text = "Pick a Log-in",bg = "white",font=my_font).grid(row = 1,column=1,sticky="",padx=10,pady=10)
    button = Button(buttonFrame,text = "Admin",command = adminLogin,width=30,height = 5,font=my_font).grid(row=2,sticky = "",pady=10)
    button2 = Button(buttonFrame,text = "Student",command = studentLogin,width = 30,height=5,font=my_font).grid(row = 3,padx = 10,pady=10)


    root.mainloop()
def studentLogin():
    root = Tk()
    
    root.geometry('1024x600')
    load = PIL.Image.open('Image//book.jpg')
    render = ImageTk.PhotoImage(load)
    img =Label(root,y=0)

    my_font = font.Font(size = 15)
    buttonFrame = Frame(root,height=600,sticky="")
    root.grid_rowconfigure(0,weight=1)
    root.grid_columnconfigure(0,weight=1)
    label = Label (buttonFrame,text="Welcome",font=('Helvetica',18,'bold'),bg="white").grid(row = 1,column = 1,pady=10)
    label = Label(buttonFrame,text="Username",font = my_font).grid(row=2,pady=10)
    usernameEntry = Entry(buttonFrame).grid(row=2,column=2,pady=10)
    
   
    root.mainloop()

解决方法

也许尝试使用PySimpleGUI:)

对于这些情况,它有一个方便的window.Hide()或window.UnHide()。它也是一个很棒的库,可用于开发GUI,良好的文档,强大的支持并且易于使用。

对于tkinter,您可以尝试

root.withdraw() 

root.update()
root.deiconify()

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...