Tkinter之Frame

Frame俗稱框架,用來承載放置其餘GUI元素,能夠理解爲一個容器。
它能將 Windows 分紅不一樣的區,而後存放不一樣的部件. 同時一個Frame 也能再分紅多個子Frame。
在有不一樣的界面邏輯層級和功能區域劃分時能夠用到,讓交互界面邏輯更加清晰。
 
示例1:體會Frame指定區域的做用
from Tkinter import *
root = Tk()
fm = []
 
#以不一樣的顏色區別各個frame
for color in ['red','blue']:
   #注意這個建立Frame的方法與其它建立控件的方法不一樣,第一個參數不是root
    fm.append(Frame(height = 20,width = 100,bg = color))
 
fm[0].pack()
fm[1].pack()
 
def Call():
    #Label被添加到指定的Frame中了,而不是root默認的最上方
    Label(fm[1],text = 'Hello label').pack()
    
Button(root,text='red',width=5,command=Call).pack(side='left')
 
root.mainloop()
 
注意:
一旦Frame上面放置了部件,那麼Frame的背景色就會消去,變成沒法肉眼辨別的底層容器。
 
示例2:體會父子Frame劃分區域的做用
import Tkinter as tk 
window = tk.Tk()
window.title('My Window')
window.geometry('500x300')  
 
#建立主框架frame
frame = tk.Frame(window)
frame.pack()
 
#建立第二層框架frame,放置在主框架frame上。第二層frame有2個,一個放左,一個放右
frame_l = tk.Frame(frame)
frame_r = tk.Frame(frame)
frame_l.pack(side='left')
frame_r.pack(side='right')
 
#建立多個標籤,分別放置在第二層的2個frame上
tk.Label(frame_l, text='物料表格', bg='green').pack()
tk.Label(frame_l, text='入庫表格', bg='green').pack()
tk.Label(frame_r, text='物料屬性', bg='yellow').pack()
tk.Label(frame_r, text='入庫屬性', bg='yellow').pack()
 
window.mainloop()
相關文章
相關標籤/搜索