跳轉(zhuǎn)實(shí)現(xiàn)思路
主程序相當(dāng)于桌子:
import tkinter as tk
root = tk.Tk()
而不同的Frame相當(dāng)于不同的桌布:
face1 = tk.Frame(root)
face2 = tk.Frame(root)
...
每個(gè)界面采用類的方式定義各自的控件和函數(shù),每個(gè)界面都建立在一個(gè)各自定義的Frame上,那么在實(shí)現(xiàn)跳轉(zhuǎn)界面的效果時(shí),
只需要調(diào)用tkinter.destroy()方法銷毀舊界面,同時(shí)生成新界面的對象,即可實(shí)現(xiàn)切換。
而對于切換的過程中改變背景顏色和大小,可以通過修改frame控件的屬性,或者修改root的屬性(桌子的屬性)來實(shí)現(xiàn)。
具體代碼
# -*- 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')
#基準(zhǔn)界面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()
效果圖:
以上這篇python tkinter實(shí)現(xiàn)界面切換的示例代碼就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

