當前位置:首頁 ? tkinter ? 正文

tkinter多界面切換,簡單的程序的切換方式1,用frame組件來幫忙

  在tkinter中,如果需要多界面,可能要考慮一下 Toplevel 組件了。但這里不討論這個組件,相信  Toplevel 組件的具體運用大家都清楚如何用,只是,我們有時只是做一個小的,簡單的程序,并不想多創建更多的窗體,只是想在同一個窗體下模擬成2、3個窗體的切換,這里,就可以考慮 Frame 或  LabelFrame 等框架容器組件了。

  這些容器組件可以裝入其它組件,我們可以把這些容器組件當成窗體,這些容器可以分別用不同的布局定位方法。

  在窗體root下創建3個Frame組件,把“窗體1”,“窗體2”,“窗體3”的組件分別裝入這3個Frame組件,分別切換顯示這3個Frame就達到了窗體切換的假象。

  下面是我做的代,3個Frame組件分別裝入3個按鈕,通過窗體右鍵菜單或點擊按鈕切換不同的“窗體”?!   ∝钾~

from tkinter import *

def popup_menu(event):
    popup.post(event.x_root,event.y_root)
def gotofr1():
    fr1.pack(fill=BOTH,expand=True)
    fr2.pack_forget()
    fr3.pack_forget()
    root.title('窗口1')
    fr1.config(bg='lightblue')
def gotofr2():
    fr2.pack(fill=BOTH,expand=True)
    fr1.pack_forget()
    fr3.pack_forget()
    root.title('窗口2')
    fr2.config(bg='lightgreen')
def gotofr3():
    fr3.pack(fill=BOTH,expand=True)
    fr1.pack_forget()
    fr2.pack_forget()
    root.title('窗口3')
    fr3.config(bg='lightyellow')

root=Tk()  # 源碼來自wb98.com
root.title('窗口1')
root.geometry('300x150+888+444')    

popup=Menu(root,tearoff=0)
popup.add_command(label='窗口1',command=gotofr1) # 通過窗體右鍵菜單來切換不同的'窗體'
popup.add_command(label='窗口2',command=gotofr2)
popup.add_command(label='窗口3',command=gotofr3)

root.bind("<Button-3>",popup_menu)

fr1=Frame(root,relief='ridge',borderwidth=4) # 不設置邊線寬,無法顯示
fr1.pack(fill=BOTH,expand=True)
fr1.config(bg='lightblue')

fr2=Frame(root,relief='ridge',borderwidth=4) # 不設置邊線寬,無法顯示
# fr2.pack() # 先不布局定位

fr3=Frame(root,relief='ridge',borderwidth=4) # 不設置邊線寬,無法顯示
# fr3.pack() # 先不布局定位

but1=Button(fr1,text="窗口1按鈕")
but1.pack() # 用pack()方法
but2=Button(fr2,text="窗口2按鈕")
but2.grid() # 用grid()方法
but3=Button(fr3,text="窗口3按鈕")
but3.place(relx=0.5,rely=0.5) # 用place()方法

but1.bind("<ButtonRelease-1>",popup_menu) # 按鈕點擊釋放后彈出菜單
but2.bind("<ButtonRelease-1>",popup_menu)
but3.bind("<ButtonRelease-1>",popup_menu)

root.mainloop()

運行結果:

未命名.GIF

此文章來自:wb98.com  網站還有相關的系列課程文章,感興趣的可以前往。

來源:濟亨網

本文鏈接:http://www.chinaengraver.com/post/349.html

    << 上一篇 下一篇 >>

    湘公網安備 43011102000514號 - 湘ICP備08100508號

    2019年秋霞鲁丝片瓜皮_导航亚洲AV日韩AV永久无码_有没有哪些可以看片的免费的_国产色妞妞在线视频免费播放