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

悬赏问题

  • ¥50 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?