【tkinter組件專欄】Frame:承載規劃佈局的框架

在這裏插入圖片描述


一、組件簡介

Frame組件,框架,實際上是在屏幕上的一個矩形區域。Frame 通常用來充當容器,作爲其他組件的框架基礎,承載其他組件元素。

Frame 組件主要用於在複雜的佈局中將其他組件分組,從而實現不同的界面邏輯層級和功能區域劃分。
在這裏插入圖片描述
當然我也是才接觸tkinter不久,對於frame的認識也並非有多麼深刻,在這本文只也能算初略地描述frame作用與功能。

在這裏插入圖片描述

在這裏插入圖片描述

二、運用實例

——

1. Frame指定區域

也就是將組件放在frame框架上。

import tkinter as tk 

root = tk.Tk()

frame1 = tk.Frame(root, height=50, width=100, bg='yellow')
frame2 = tk.Frame(root,height=50, width=100, bg='blue')
frame1.pack()
frame2.pack()

# 當Frame上面放置組件,其背景色就會消去,變成無色的底層容器。
def show():
    tk.Label(frame2,text = '逆旅鴨').pack()

tk.Button(root,text='插入文本', command=show).pack()

root.mainloop()

運行程序,顯示如下
在這裏插入圖片描述
還是在這裏再強調下,當frame上面放置其他組件,其背景色就會消去,變成無色的底層容器。但是這個frame框架依舊是存在,並非消失了。

——

2. Frame劃分區域

通過建立多個frame框架,我們可以實現對版面的佈局。

import tkinter as tk 

root = tk.Tk()
 
#創建主框架frame
frame = tk.Frame(root, height=300, width=300, bg='blue', relief='raised',bd=3)
frame.pack(padx=10, pady=10)
 
#創建第二層框架frame_l和frame_r,分別左右放置在主框架frame上
frame_l = tk.Frame(frame, height=100, width=50, bg='red')
frame_r = tk.Frame(frame, height=100, width=50, bg='yellow')
frame_l.pack(side='left',padx=20, pady=20)
frame_r.pack(side='right',padx=20, pady=20)
 
# #創建多個標籤,分別放置在第二層的frame_l、frame_r上
tk.Label(frame_l, text='左上', bg='white').pack(padx=10, pady=10)
tk.Label(frame_l, text='左下', bg='green').pack(padx=10, pady=10)
tk.Label(frame_r, text='右上', bg='purple').pack(padx=10, pady=10)
tk.Label(frame_r, text='右下', bg='pink').pack(padx=10, pady=10)
 
root.mainloop()

運行程序,顯示如下。

可以對照代碼好好體會一下Frame框架在其中的作用。
在這裏插入圖片描述
——

3. Frame裝飾作用

除此之外,frame還能起到裝飾分割頁面元素的作用。

import tkinter as tk 

root = tk.Tk()

tk.Label(root, text='好好學習').pack()

separator = tk.Frame(height=4, bd=1, relief='sunken')
separator.pack(fill='x', padx=3, pady=3)

tk.Label(root, text='天天向上').pack()

root.mainloop()

運行程序,顯示如下。

在這裏,兩個標籤並沒有放在frame框架上,而只是通過創建frame並設置它的樣式從而起到了分割線的作用。
在這裏插入圖片描述
在這裏插入圖片描述

三、參數方法

——

1. 參數彙總

歸納總結Frame組件中一些常用的參數以及用法。
在這裏插入圖片描述
在這裏插入圖片描述在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章