tkinter学习-- 五、Frame与Labelframe

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()

  

 

原文地址:https://www.cnblogs.com/yescarf/p/13892694.html