Gavin_Stargazer 2021-08-04 16:26 采纳率: 62.5%
浏览 4916
已结题

【python】【tkinter】怎么实现点击跳转新窗口 / 跳转新页面

【目标】
Page_1,点"跳转"按钮,关闭此页面,跳转至Page_2
Page_2,点"返回"按钮,关闭此页面,跳转至Page_1

【请问】
看了一些文章,但始终不得要领。请问代码应当如何写,或者请给个案例链接自助学习下


# 【目标】
# Page_1,点"跳转"按钮,关闭此页面,跳转至Page_2
# Page_2,点"返回"按钮,关闭此页面,跳转至Page_1

# 【请问】
# 看了一些文章,但始终不得要领。请问代码应当如何写,或者请给个案例链接自助学习下


import tkinter as tk


class Page_1:  # 这是第一个页面
    def __init__(self, window):
        self.window = window
        self.window.title("p1")
        self.window.geometry("100x100")
        self.window.config(bg="#F9C03D")
        button = tk.Button(self.window, text="跳转", command=self.change)
        button.pack()

    def change(self):
        pass  # 不知道怎么写,先占位


class Page_2:  # 这是第二个页面
    def __init__(self, window):
        self.window = window
        self.window.title("p2")
        self.window.geometry("300x300")
        self.window.config(bg="#0F375A")
        button = tk.Button(self.window, text="返回", command=self.back)
        button.pack()

    def back(self):
        pass  # 不知道怎么写,先占位


root = tk.Tk()
p1 = Page_1(root)  # 这两个页单,可单独运行
# p2 = Page_2(root)
root.mainloop()
  • 写回答

1条回答 默认 最新

  • zljun8210 2021-08-04 17:23
    关注

    直接调用对应的Class即可

    
    import tkinter as tk
    
    
    class Page_1:  # 这是第一个页面
        def __init__(self, window):
            self.window = window
            self.window.title("p1")
            self.window.geometry("200x200")
            self.window.config(bg="#F9C03D")
            button = tk.Button(self.window, text="跳转", command=self.change)
            button.pack()
    
        def change(self):
            # pass  # 不知道怎么写,先占位
            Page_2(root)
    
    
    class Page_2:  # 这是第二个页面
        def __init__(self, window):
            self.window = window
            self.window.title("p2")
            self.window.geometry("300x300")
            self.window.config(bg="#0F375A")
            button = tk.Button(self.window, text="返回", command=self.back)
            button.pack()
    
        def back(self):
            # pass  # 不知道怎么写,先占位
            Page_1(root)
    
    
    root = tk.Tk()
    p1 = Page_1(root)  # 这两个页单,可单独运行
    # p2 = Page_2(root)
    root.mainloop()
    
    

    如有帮助,请采纳。谢谢。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月11日
  • 已采纳回答 8月5日
  • 修改了问题 8月4日
  • 修改了问题 8月4日
  • 展开全部

悬赏问题

  • ¥20 matlab中的双层数值积分
  • ¥50 服务器打印水晶报表问题
  • ¥15 Delphi image图片缩放问题
  • ¥30 gradle环境下javafx项目如何使用druid连接池
  • ¥15 服务器打印水晶报表问题
  • ¥15 初学者用plt报错,求解答
  • ¥18 深度学习tensorflow1,ssdv1,coco数据集训练一个模型
  • ¥100 关于注册表摄像头和麦克风的问题
  • ¥30 代码本地运行正常,但是TOMCAT部署时闪退
  • ¥15 关于#python#的问题