最新公告
  • 欢迎您光临知事网软件APP资源下载站,一个优质的手机App应用商店和网站源码基地。欢迎加入永久SVIP
  • 如何实现python tkinter控件随窗口变化?

    正文概述 知事网   2020-11-16 11:11:44   445

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

    转载自:python学习网 https://www.py.cn/


    知事网 » 如何实现python tkinter控件随窗口变化?

    发表评论

    还没有评论,快来抢沙发吧!

    [!--temp.right--]
    请选择支付方式
    ×
    余额支付
    ×
    微信扫码支付 0 元