frame控件
frame控件是一个显示为矩形的控件,frame主要用作其他widgets的容器。
创建空frame
from tkinter import Tk,Frame
main_win = Tk()
main_win.title('渔道的Frame控件')
width = 300
height = 300
main_win.geometry(f'{width}x{height}')
frm = Frame(main_win, width=50, height=50, background='white', borderwidth=1, relief='groove')
frm.pack()
main_win.mainloop()
通常,如果创建一个空的frame,需要设置其width和height,否则不会显示。一般宽和高的单位都是像素(pixel),但也可以通过后缀设置其他单位。如,'20c’表示20厘米(centimeters),'20i’表示20英寸(inches),'20p’表示20个可打印点(printer’s points)。
创建非空frame
创建一个frame,用来管理button控件
from tkinter import Tk,Frame,Button
main_win = Tk()
main_win.title('渔道的Frame控件')
width = 300
height = 300
main_win.geometry(f'{width}x{height}')
# bt_frm = Frame(main_win, background='yellow', borderwidth=1, relief='groove')
bt_frm = Frame(main_win)
bt_frm.pack()
bt_frm['relief'] = 'groove'
bt_frm['borderwidth'] = 20
bt_frm['background'] = 'yellow'
red_bt = Button(bt_frm, text='红色', fg='red')
red_bt.pack(side='left')
green_bt = Button(bt_frm, text='绿色', fg='green')
green_bt.pack(side='left')
blue_bt = Button(bt_frm, text='蓝色', fg='blue')
blue_bt.pack(side='left')
main_win.mainloop()
之前我们一直使用第8行的方法来指定控件的属性值,第11-13行可以看出,控件对象支持类似字典的属性值设置,从编码的层面上来讲更加灵活。第15-20行创建了三个button对象并放置在frame中。