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

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

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

    主程序相当于桌子:

    1

    2

    import tkinter as tk

    root = tk.Tk()

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

    1

    2

    3

    face1 = tk.Frame(root)

    face2 = tk.Frame(root)

    ...

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

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

    具体代码:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    44

    45

    46

    47

    48

    49

    50

    51

    52

    53

    # -*- 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学习网