Python Tkinter实现界面切换的示例代码
本文介绍使用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实现界面切换的示例代码分享完毕,希望能为读者提供参考,欢迎继续支持本站获取更多技术内容。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













