• 技术文章 >Python技术 >Python基础教程

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

    十一十一2020-11-16 15:25:00原创3727
    不管是对于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控件时候,,可以把以上方式方法给套用住,因为这些内容是我们非常好实用的,大家可以作为累积使用,如果还有其他的疑问,也可以在官网上查询即可。

    专题推荐:pythontkinter控件随窗口变化
    上一篇:python3类中的super如何调用? 下一篇:python tkinter中text怎么创建及使用?

    相关文章推荐

    • python中的函数和方法有什么区别?• python数据挖掘中的分类算法有哪些?• Python sklearn中的算法如何使用?• python django框架用的人多吗?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网