Tkinter有三种布局方式:
- pack
- grid
- place
目前使用的只是pack这一种最简单的方式.pack默认先添加的放到上面,然后依次向下排列,它会给我们的组件一个自认为合适的位置和大小,这是默认的方式.
pack可以接受下列几个参数,以及各自的介绍
after=widget - pack it after you have packed widget
anchor=NSEW (or subset) - position widget according to
given direction
before=widget - pack it before you will pack widget
expand=bool - expand widget if parent size grows
fill=NONE or X or Y or BOTH - fill widget if widget grows
in=master - use master to contain this widget
in_=master - see 'in' option description
ipadx=amount - add internal padding in x direction
ipady=amount - add internal padding in y direction
padx=amount - add padding in x direction
pady=amount - add padding in y direction
side=TOP or BOTTOM or LEFT or RIGHT - where to add this widget.
运行效果
源代码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2017/7/27 下午1:32
# @Author : hukezhu
# @Site :
# @File : 0727-02.py
# @Software: PyCharm
from Tkinter import *
#实例化TK类
app = Tk()
#设置窗口的标题
app.wm_title('Python')
#实例化一个label,第一个参数指定在哪个窗口之内,具体可以去看Label的源码部分,底部会贴出源码
label1 = Label(app,text='测试文字1',background='red')
label2 = Label(app,text='测试文字2',activebackground='blue')
label3 = Label(app,text='测试文字3',activeforeground='green')
label4 = Label(app,text='测试文字4',font = ("Arial, 30"))
#将label加到父容器中
label1.pack()
label2.pack()
label3.pack()
label4.pack()
#进行事件循环
app.mainloop()
上篇文章附出了Label的源码,在里面可以看到Label的各种属性,可以自己去尝试,别的组件跟这个是类似的,具体使用的话可以查看源码进行设置
网友评论