5、控件布局
5.1、place() 使用方法
x:指定组件的 X 坐标。x 为 0 代表位于最左边。
y:指定组件的 Y 坐标。y 为 0 代表位于最右边。
relx:指定组件的 X 坐标,以父容器总宽度为单位 1,该值应该在 0.0~1.0 之间,其中 0.0 代表位于窗口最左边,1.0 代表位于窗口最右边,0.5 代表位于窗口中间。
rely:指定组件的 Y 坐标,以父容器总高度为单位 1,该值应该在 0.0~1.0 之间,其中 0.0 代表位于窗口最上边,1.0 代表位于窗口最下边,0.5 代表位于窗口中间。
width:指定组件的宽度,以 pixel 为单位。
height:指定组件的高度,以 pixel 为单位。
relwidth:指定组件的宽度,以父容器总宽度为单位 1,该值应该在 0.0~1.0 之间,其中 1.0 代表整个窗口宽度,0.5 代表窗口的一半宽度。
relheight:指定组件的高度,以父容器总高度为单位 1,该值应该在 0.0~1.0 之间,其中 1.0 代表整个窗口高度,0.5 代表窗口的一半高度。
bordermode:该属性支持“inside”或“outside” 属性值,用于指定当设置组件的宽度、高度时是否计算该组件的边框宽度。
当使用 Place 布局管理容器中的组件时,需要设置组件的 x、y 或 relx、rely 选项,Tkinter 容器内的坐标系统的原点 (0,0) 在左上角,其中 X 轴向右延伸,Y 轴向下延伸,
如图所示
如果通过 x、y 指定坐标,单位就是 pixel(像素);如果通过 relx、rely 指定坐标,则以整个父容器的宽度、高度为 1。不管通过哪种方式指定坐标,通过图 1 不难发现,通过 x 指定的坐标值越大,该组件就越靠右;通过 y 指定的坐标值越大,该组件就越靠下。
5.2、pack() 使用方法
是一种简单的布局方法,的默认方式将按布局语句的先后,以最小占用空间的方式自上而下地排列控件实例,并且保持控件本身的最小尺寸。
用pack() 方法不加参数排列标签。为看清楚各控件所占用的空间大小,文本用了不同长度的中英文,并设置relief="groove"的凹陷边缘属性。
import tkinter #声明窗体 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() LabelBlue = tkinter.Label(root,text="1234567890",fg="blue",relief = "groove") LabelBlue.pack() root.mainloop()