python tkinter frame加入窗口_python-Tkinter-流到另一个窗口

由于您一次只想显示一个窗口,因此可以将各种“屏幕”定义为tk.Frames并使用lift方法显示正确的帧:

import Tkinter as tk

class Page(tk.Frame):

def __init__(self, master, text, height, width, *args, **kwargs):

tk.Frame.__init__(self, *args, borderwidth=20, **kwargs)

self.height = height

self.width = width

button = tk.Button(self, text=text, font=('Comic Sans MS', 20),

command=lambda: self.callback())

button.pack(side="top", fill="both", expand=True)

def onlift(self):

root.geometry('{}x{}'.format(self.width, self.height))

self.lift()

class App(tk.Frame):

def __init__(self, *args, **kwargs):

tk.Frame.__init__(self, *args, **kwargs)

p1 = Page(self, 'This is page 1', height=200, width=300)

p2 = Page(self, 'Next page is 2', height=400, width=300)

p3 = Page(self, 'We love number 3', height=400, width=600)

p1.callback = p2.onlift

p2.callback = p3.onlift

p3.callback = p1.onlift

p1.place(x=0, y=0, relwidth=1, relheight=1)

p2.place(x=0, y=0, relwidth=1, relheight=1)

p3.place(x=0, y=0, relwidth=1, relheight=1)

p1.onlift()

root = tk.Tk()

app = App(root)

root.mainloop()

因此,在您的情况下,您可以定义tk.Frame的其他子类,并使用它们代替Page.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值