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

【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日
  • 展开全部

悬赏问题

  • ¥60 优博讯DT50高通安卓11系统刷完机自动进去fastboot模式
  • ¥15 minist数字识别
  • ¥15 在安装gym库的pygame时遇到问题,不知道如何解决
  • ¥20 uniapp中的webview 使用的是本地的vue页面,在模拟器上显示无法打开
  • ¥15 网上下载的3DMAX模型,不显示贴图怎么办
  • ¥15 关于#stm32#的问题:寻找一块开发版,作为智能化割草机的控制模块和树莓派主板相连,要求:最低可控制 3 个电机(两个驱动电机,1 个割草电机),其次可以与树莓派主板相连电机照片如下:
  • ¥15 Mac(标签-IDE|关键词-File) idea
  • ¥15 潜在扩散模型的Unet特征提取
  • ¥15 iscsi服务无法访问,如何解决?
  • ¥15 感应式传感器制作的感应式讯响器