python tkinter实现界面切换_code

跳转实现思路
主程序相当于桌子:

    import tkinter as tk
    root = tk.Tk()    

而不同的Frame相当于不同的桌布:

    face1 = tk.Frame(root)
    face2 = tk.Frame(root)
    ...

每个界面采用类的方式定义各自的控件和函数,每个界面都建立在一个各自定义的Frame上,那么在实现跳转界面的效果时,
只需要调用tkinter.destroy()方法销毁旧界面,同时生成新界面的对象,即可实现切换。
而对于切换的过程中改变背景颜色和大小,可以通过修改frame控件的属性,或者修改root的属性(桌子的属性)来实现。

具体代码

# -*- coding: utf-8 -*-
"""
Created on Tue Oct 16 11:15:01 2018

Description:tkinter界面切换
Version:
    
@author: HJY
"""
import tkinter as tk


class basedesk():
    def __init__(self,master):
        self.root = master
        self.root.config()
        self.root.title('Base page')
        self.root.geometry('200x200')
        
        initface(self.root)        
                
class initface():
    def __init__(self,master):
        
        self.master = master
        self.master.config(bg='green')
        #基准界面initface
        self.initface = tk.Frame(self.master,)
        self.initface.pack()
        btn = tk.Button(self.initface,text='change',command=self.change)
        btn.pack()
        
    def change(self,):       
        self.initface.destroy()
        face1(self.master)      

class face1():
    def __init__(self,master):
        self.master = master
        self.master.config(bg='blue')
        self.face1 = tk.Frame(self.master,)
        self.face1.pack()
        btn_back = tk.Button(self.face1,text='face1 back',command=self.back)
        btn_back.pack()
    
    def back(self):
        self.face1.destroy()
        initface(self.master)
        
    
if __name__ == '__main__':    
    root = tk.Tk()
    basedesk(root)
    root.mainloop()

效果图:

  • 45
    点赞
  • 296
    收藏
    觉得还不错? 一键收藏
  • 26
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值