tkinter學習-- 五、Frame與Labelframe
阿新 • • 發佈:2020-10-29
frame
說明:螢幕上建立一塊矩形區域,多作為容器來佈局窗體
frame(根物件,[屬性列表])
class Frame_tk(Tk): def __init__(self): self.windows=Tk() self.windows.geometry('300x200') self.show_windows() self.windows.mainloop() def show_windows(self): self.frame1=Frame(self.windows,bg='red') self.frame1.place(relx=0.2, rely=0.2, relwidth=0.3, relheight=0.6) self.frame2=Frame(self.windows,bg='yellow') self.frame2.place(relx=0.5, rely=0.2, relwidth=0.3, relheight=0.6) #tk=Frame_tk() #顯示簡單色塊這裡用place更易顯示 class Frame_tk2(Tk): def __init__(self): self.windows=Tk() self.windows.geometry('528x322') self.show_windows() self.windows.mainloop() def show_windows(self): self.frame1=Frame(self.windows,bg='red') self.frame1.place(relx=0.2, rely=0.2, relwidth=0.3, relheight=0.6) self.label_1 = Label(self.frame1, text="富強") self.label_1.place(relx=0.2, rely=0.2) self.label_2 = Label(self.frame1, text="民主") self.label_2.place(relx=0.6, rely=0.2) self.label_3 = Label(self.frame1, text="文明") self.label_3.place(relx=0.2, rely=0.6) self.label_4 = Label(self.frame1, text="和諧") self.label_4.place(relx=0.6, rely=0.6) self.frame2=Frame(self.windows,bg='yellow') self.frame2.place(relx=0.5, rely=0.2, relwidth=0.3, relheight=0.6) self.label_1 = Label(self.frame2, text="自由") self.label_1.place(relx=0.2, rely=0.2) self.label_2 = Label(self.frame2, text="平等") self.label_2.place(relx=0.6, rely=0.2) self.label_3 = Label(self.frame2, text="公正") self.label_3.place(relx=0.2, rely=0.6) self.label_4 = Label(self.frame2, text="法治") self.label_4.place(relx=0.6, rely=0.6) app=Frame_tk2()
表示顯示色塊(圖1)也可以在主螢幕的基礎上新增分螢幕以便進行操作(圖2)
LabelFrame(注意大小寫)
LabelFrame與Frame屬性選項一樣。
Labelframe有兩點不同於Frame:
1.Labelframe預設的邊框使tk.GROOVE,relief=tk.GROOVE
2.Labelframe還可以再邊框寫文字,即:text="文字"
特性:邊框文字位置:
預設是:labelanchor="wn"
###
STANDARD OPTIONS
borderwidth, cursor, font, foreground,
highlightbackground, highlightcolor,
highlightthickness, padx, pady, relief,
takefocus, text
WIDGET-SPECIFIC OPTIONS
background, class, colormap, container,
height, labelanchor, labelwidget,
visual, width
"""
class Lableframe_tk2(Tk): def __init__(self): self.windows=Tk() self.windows.geometry('528x322') self.show_windows() self.windows.mainloop() def show_windows(self): self.frame1=LabelFrame(self.windows,text='社會主義核心價值觀',labelanchor="n") self.frame1.place(relx=0.2, rely=0.2, relwidth=0.3, relheight=0.6) self.label_1 = Label(self.frame1, text="富強") self.label_1.place(relx=0.2, rely=0.2) self.label_2 = Label(self.frame1, text="民主") self.label_2.place(relx=0.6, rely=0.2) self.label_3 = Label(self.frame1, text="文明") self.label_3.place(relx=0.2, rely=0.6) self.label_4 = Label(self.frame1, text="和諧") self.label_4.place(relx=0.6, rely=0.6) self.frame2=LabelFrame(self.windows,text='社會主義核心價值體系',labelanchor="n") self.frame2.place(relx=0.5, rely=0.2, relwidth=0.3, relheight=0.6) self.label_1 = Label(self.frame2, text="自由") self.label_1.place(relx=0.2, rely=0.2) self.label_2 = Label(self.frame2, text="平等") self.label_2.place(relx=0.6, rely=0.2) self.label_3 = Label(self.frame2, text="公正") self.label_3.place(relx=0.2, rely=0.6) self.label_4 = Label(self.frame2, text="法治") self.label_4.place(relx=0.6, rely=0.6) app=Lableframe_tk2()