Python Tkinter实现界面切换的示例代码

星野
星野
发布时间:2026-10-13 | 5人浏览过
原创

本文介绍使用Python Tkinter库实现GUI界面切换的方法。核心思路是将不同界面封装为独立的Frame类,通过销毁旧Frame并实例化新Frame对象来完成切换。同时,代码展示了如何修改背景颜色及窗口属性。

界面跳转核心逻辑

界面跳转的核心逻辑

可以将主窗口(root)视为桌面,而不同的界面区域则对应放置在桌面上的不同桌布(Frame)。

代码实现与效果


 import tkinter as tk
 root = tk.Tk() 

具体而言,每个界面通过类来定义其包含的控件和交互函数,且每个界面都基于一个自定义的Frame实例构建。


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

当需要实现界面切换效果时,

只需调用tkinter的destroy()方法销毁当前的旧界面Frame,随后实例化并显示新界面的对象,即可完成切换过程。

若需在切换过程中调整背景颜色或窗口大小,可以通过修改对应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()

运行效果展示:

以上关于Python Tkinter实现界面切换的示例代码分享完毕,希望能为读者提供参考,欢迎继续支持本站获取更多技术内容。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表