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

【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 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效