thinter打开新窗口隐藏主窗口并实现窗口切换

from tkinter import *

windows = Tk()
windows.geometry("500x300")
windows.title("主窗口")

def b():

    windows.withdraw() #隐藏主窗口
    global root
    root = Tk()
    root.geometry("500x300")
    root.title("副窗口")

    Button(root,text="返回主窗口",command=show).pack(pady=50)
    Label(root, text="三国两晋南北朝").pack()
    Entry(root, show="").pack()
    root.focus_force() #新窗口获得焦点
    root.mainloop()
def show():
    windows.update()
    windows.deiconify()  #显示主窗口
    root.destroy()
Button(windows,text="打开一个新窗口", command=b).pack(pady=50)
Label(windows,text="我爱python").pack()
Entry(windows,show="").pack()
windows.mainloop()

功能说明:主窗口和副窗口的一个隐藏和切换,要注意在主窗口中放置了一个文本框,隐藏后输入的内容还是在的,使用destroy()就是关闭,副窗口中输入的内容就不在了,可以对比下。

思考一下:那我要让副窗口也隐藏,保持副窗口的文本输入内容不丢失该怎么操作呢?

代码如下:思路就是新建窗口后,把新建窗口按钮隐藏掉,显示切换的按钮,达到在主副窗口隐藏与显示之间切换

from tkinter import *

windows = Tk()
windows.geometry("500x300")
windows.title("主窗口")

def b():

    windows.withdraw() #隐藏主窗口
    global root
    root = Tk()
    root.geometry("500x300")
    root.title("副窗口")
    Button(root,text="返回主窗口",command=show).pack(pady=50)
    b2.pack(pady=50)
    Label(root, text="三国两晋南北朝").pack()
    Entry(root, show="").pack()

    root.focus_force() #新窗口获得焦点
    root.mainloop()


def show():
    windows.update()
    windows.deiconify()  #显示主窗口
    root.withdraw()
    b1.pack_forget()


def c():
    root.update()
    root.deiconify()
    windows.withdraw()

b1 = Button(windows,text="打开一个新窗口", command=b)
b1.pack()
b2 = Button(windows,text="打开副窗口", command=c)
b2.pack_forget()
Label(windows,text="我爱python").pack(pady=50)
Entry(windows,show="").pack()
windows.mainloop()

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值