目錄
[TOC]python
前言
Frame與Labelframe都是容器,用來存放其餘控件,也是用來更好的管理佈局。oop
我通常是用來存放一組相關的控件,讓Frame與Labelframe成爲其餘控件的父控件。佈局
(一)Frame
(1)說明:
tk.Frame(master, option*)spa
通常用顏色來區分Frame的位置code
(2)源代碼:
import tkinter as tk win = tk.Tk() # 定義第一個容器 frame_left = tk.Frame(win, bg="green") frame_left.place(relx=0.2, rely=0.2, relwidth=0.3, relheight=0.6) label_1 = tk.Label(frame_left, text="富強") label_1.place(relx=0.2, rely=0.2) label_2 = tk.Label(frame_left, text="民主") label_2.place(relx=0.6, rely=0.2) label_3 = tk.Label(frame_left, text="文明") label_3.place(relx=0.2, rely=0.6) label_4 = tk.Label(frame_left, text="和諧") label_4.place(relx=0.6, rely=0.6) # 定義第二個容器 frame_right = tk.Frame(win, bg="yellow") frame_right.place(relx=0.5, rely=0.2, relwidth=0.3, relheight=0.6) label_1 = tk.Label(frame_right, text="自由") label_1.place(relx=0.2, rely=0.2) label_2 = tk.Label(frame_right, text="平等") label_2.place(relx=0.6, rely=0.2) label_3 = tk.Label(frame_right, text="公正") label_3.place(relx=0.2, rely=0.6) label_4 = tk.Label(frame_right, text="法治") label_4.place(relx=0.6, rely=0.6) win.mainloop()
(3)輸出效果:
(二)Labelframe
(1)說明:
大致上,Labelframe與Frame屬性選項同樣。blog
Labelframe有兩點不一樣於Frame:io
- Labelframe默認的邊框使tk.GROOVE,relief=tk.GROOVE
- Labelframe還能夠再邊框寫文字,即:text="文字"
邊框文字的位置:
默認是:labelanchor="wn"ast
(2)源代碼:
import tkinter as tk win = tk.Tk() # 定義第一個容器 frame_left = tk.LabelFrame(win, text="國家層面", labelanchor="n") frame_left.place(relx=0.2, rely=0.2, relwidth=0.3, relheight=0.6) label_1 = tk.Label(frame_left, text="富強") label_1.place(relx=0.2, rely=0.2) label_2 = tk.Label(frame_left, text="民主") label_2.place(relx=0.6, rely=0.2) label_3 = tk.Label(frame_left, text="文明") label_3.place(relx=0.2, rely=0.6) label_4 = tk.Label(frame_left, text="和諧") label_4.place(relx=0.6, rely=0.6) # 定義第二個容器 frame_right = tk.LabelFrame(win, text="社會層面", labelanchor="n") frame_right.place(relx=0.5, rely=0.2, relwidth=0.3, relheight=0.6) label_1 = tk.Label(frame_right, text="自由") label_1.place(relx=0.2, rely=0.2) label_2 = tk.Label(frame_right, text="平等") label_2.place(relx=0.6, rely=0.2) label_3 = tk.Label(frame_right, text="公正") label_3.place(relx=0.2, rely=0.6) label_4 = tk.Label(frame_right, text="法治") label_4.place(relx=0.6, rely=0.6) win.mainloop()