使用pack()方法可设置 fill、side 等属性参数。其中,参数fill 可取值:fill=X,fill=Y或fill=BOTH,分别表示允许控件向水平方向、垂直方向或二维伸展填充未被占用控件。参数 side 可取值:side=TOP(默认),side=LEFT,side=RIGHT,side=BOTTOM,分别表示本控件实例的布局相对于下一个控件实例的方位。
#coding=utf-8 import tkinter root = tkinter.Tk() root.title("这是标题") root.geometry("400x400+200+200") LabelRed = tkinter.Label(root,text="abcdefghijklmnopqrstuvwxyz",fg="Red",relief = "groove") LabelRed.pack() LabelGreen = tkinter.Label(root,text="一二三四五六七八九十",fg="green",relief = "groove") LabelGreen.pack(fill = "y",side = "right") LabelBlue = tkinter.Label(root,text="1234567890",fg="blue",relief = "groove") LabelBlue.pack(fill = "x",side = "bottom") LabelBlack = tkinter.Label(root,text = "This is BlackLabel",fg = "black",relief = "groove") LabelBlack.pack(fill = "both",side = "left") root.mainloop()
5.3、grid() 使用方法
是基于网格的布局。先虚拟一个二维表格,再在该表格中布局控件实例。由于在虚拟表格的单元中所布局的控件实例大小不一,单元格也没有固定或均一的大小,因此其仅用于布局的定位。pack()方法与grid()方法不能混合使用。
grid()方法常用布局参数如下:
column: 控件实例的起始列,最左边为第0列。
columnspan: 控件实例所跨越的列数,默认为1列。
ipadx,ipady: 控件实例所呈现区域内部的像素数,用来设置控件实例的大小。
padx,pady: 控件实例所占据空间像素数,用来设置实例所在单元格的大小。
row: 控件实例的起始行,最上面为第0行。
rowspan: 控件实例的起始行数,默认为1行。
import tkinter Win = tkinter.Tk() Win.title("这是标题") Win.geometry("400x400+200+200") LabelRed = tkinter.Label(Win,text="Red",fg="Red",relief='groove') LabelRed.grid(column=2,row=0) LabelGreen = tkinter.Label(Win,text="绿色",fg="green",relief='groove') LabelGreen.grid(column=0,row=1) LabelBlue = tkinter.Label(Win,text="蓝",fg="blue",relief="groove") LabelBlue.grid(column=1,columnspan=2,ipadx=20,row=2) Win.mainloop()