品易云推流 关闭
文章详情页
文章 > Python基础教程 > 如何实现python tkinter控件随窗口变化?

如何实现python tkinter控件随窗口变化?

头像

十一

2020-11-16 15:25:003403浏览 · 0收藏 · 0评论

不管是对于Java还是对于Python,我们最开始学习的时候,都会碰到关于开发上的窗口设置,如果不设置这个内容,你所呈现的项目效果,是非常不美观的,而往往为了符合美化,大家都会花费很多心思在基础的窗口设置上,这在每一个语言程序里都是有体现的,我们今日来看下在python上是什么效果吧~

主程序相当于桌子:

import tkinter as tk
root = tk.Tk()

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

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

每个界面采用类的方式定义各自的控件和函数,每个界面都建立在一个各自定义的Frame上,那么在实现跳转界面的效果时,

只需要调用tkinter.destroy()方法销毁旧界面,同时生成新界面的对象,即可实现切换。

具体代码:

# -*- 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()

效果展示:

我们如果在继续使用 tkinter控件时候,,可以把以上方式方法给套用住,因为这些内容是我们非常好实用的,大家可以作为累积使用,如果还有其他的疑问,也可以在官网上查询即可。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图