python tkinter实现界面切换的示例代码
作者:waitwind1994 发布时间:2023-12-29 15:54:35
标签:python,tkinter,界面,切换
跳转实现思路
主程序相当于桌子:
import tkinter as tk
root = tk.Tk()
而不同的Frame相当于不同的桌布:
face1 = tk.Frame(root)
face2 = tk.Frame(root)
...
每个界面采用类的方式定义各自的控件和函数,每个界面都建立在一个各自定义的Frame上,那么在实现跳转界面的效果时,
只需要调用tkinter.destroy()方法销毁旧界面,同时生成新界面的对象,即可实现切换。
而对于切换的过程中改变背景颜色和大小,可以通过修改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()
效果图:
来源:https://blog.csdn.net/yeshankuangrenaaaaa/article/details/85703572
0
投稿
猜你喜欢
- 对于什么是好设计,一万个人那里至少有一万零一个答案。每个人都有自己的答案,有的人还不止一个答案。老师说,一定要在设计里灌注自己的思想,有了自
- 使用access数据库时可能用到的数据转换:类型转换涵数:函数 返回类型 expression 参数范围CBool Boolean 任何有效
- 最近有个朋友提到如何使用sql来删除一个字段中部分内容,于是就写了这篇文章,简单记过:测试表如下:CREATE TABLE `t` (&nb
- 一、优先级队列介绍我们知道,普通的队列插入一个元素,数据会被放在后端,并且需要前面所有的元素都处理完成后才会处理前面的数据。但是优先级队列,
- 本文实例讲述了JavaScript数据库TaffyDB用法。分享给大家供大家参考。具体如下:TaffyDB 是一个免费开源的 JavaScr
- 本文给大家介绍Python文件处理相关知识,具体内容如下所示:1.文件的常见操作文件是日常编程中常用的操作,通常用于存储数据或应用系统的参数
- set oSQLServer =server.createobject("SQLDMO.SQLServer"
- 前言结构体是包含多个字段的集合类型,用于将数据组合为记录。这样可以将与同一实体相关联的数据利落地封装到一个轻量的类型定义中,然后通过对该结构
- 数组:复制传递(不要按照c/c++的方式去理解,c/c++中数组是引用传递),定长切片:引用传递,底层实现是3个字段 array(数组) +
- 本文实例为大家分享了windows下mysql 8.0.12安装步骤及使用教程,供大家参考,具体内容如下1.到官网下载下载SQL。(1.1)
- 一、报错信息:【file】【Default Settint】---Project Interpreter 点击搜索suds安装模块报错解决:
- 比如:Set Connobject=nothing nothing如同英文单词字面意思,没有,没有那个,没有这个,没有东西 Set Conn
- cmd/compile 包含构成 Go 编译器主要的包。编译器在逻辑上可以被分为四个阶段,我们将简要介绍这几个阶段以及包含相应代码的包的列表
- 本文实例讲述了PHP共享内存使用与信号控制。分享给大家供大家参考,具体如下:共享内存共享内存的使用主要是为了能够在同一台机器不同的进程中共享
- 这绝对是最详细的Vue开发工具vuejs-devtools安装教程,相信你只需要5分钟即可解决所有问题vue-devtools是什么?vue
- Fabric 是基于 SSH 协议的 Python 工具,相比传统的 ssh/scp 方式,用 Python 的语法写管理命令更易读也更容易
- 方法一:同步操作1.pipelines.py文件(处理数据的python文件)import pymysqlclass LvyouPipeli
- 颜色目标检测就是根据物体的颜色快速进行目标定位。使用cv2.inRange函数设定合适的阈值,即可以选出合适的目标。建立项目colordet
- 当你在IE中点击一个Realplayer连接时,系统会自动启动Realplayer软件,不仅占用系统内存,而且在上网时Realplayer容
- 介绍 append()语法list.append( element )参数element:任何类型的元素列表「末尾」添加元素nam