Python Tkinter之布局

Python041

Python Tkinter之布局,第1张

1.简介。

Tkinter是Python唯一自带的GUI工具包,它背后使用的Tk组件库是开源世界中公认的标准。

Tkinter对于图形界面的布局管理有三大类:pack、grid、place

Pack()方法提供了选项来布局组件在界面中的位置,选项有:side、expand、fill、等

Grid()方法是采用行列来确定组件在界面中的位置,row是行号,column是列号。

Place()方法是通过组件在界面中的横纵坐标来固定位置。

2.分别使用pack和grid来布局同一组件。

程序如下:

information=['Name','Gender','Age']

def pack(parent):

entries1 = []

for i in information:

row=Frame(parent)

row.pack()

lab1=Label(row,text=i,relief=RAISED,width=7,padx=5,pady=5)

lab1.pack(side=LEFT)

ent1=Entry(row,relief=SUNKEN,width=30)

ent1.pack(side=LEFT,ipadx=5,ipady=5)

entries1.append(ent1)

def print1():

print([ent.get() for ent in entries1])

Button(parent,text='提交',command=print1).pack()

def grid(parent):

row=1

entries2=[]

for i in information:

lab2=Label(parent,text=i,width=7,relief=RAISED,padx=5,pady=5)

ent2=Entry(parent,width=30,relief=SUNKEN)

lab2.grid(row=row,column=0)

ent2.grid(row=row,column=1,ipadx=5,ipady=5)

row +=1

entries2.append(ent2)

def print2():

print([ent.get() for ent in entries2 ])

Button(parent,text='提交',command=print2).grid(columnspan=2)

frm1=Frame(root,bd=5,relief=RAISED)

frm1.pack()

Label(frm1,text='pack').pack()

pack(frm1)

frm2=Frame(root,bd=5,relief=RAISED)

Label(frm2,text='grid').grid(columnspan=2)

frm2.pack()

grid(frm2)

运行结果如下:

3.总结。

从运行结果界面上看两种布局的效果差不多,但通过程序可以看到,这个类似表格的界面使用pack布局的话要是两个组件布置在同一行中要使用一个容器把组件先绑定到一起来。而grid布局在这里就显得比pack方便多了,直接定义各组件在父组件中的行与列就行了。所以通过上面的比较可以得出,如果界面要求是表格类型的那么就使用grid来对组件进行布局会方便很多。

一、视口

二、视网膜屏幕(retina屏幕)清晰度解决方案

三、background 新属性 ( background-size: )

四、适配布局类型

五、基于 rem 的布局

可以通过使用布局类实例的layout属性来设置画布中图表的布局。

图表可以放置在其容器中。 x 和 y 调整位置, w 和 h 调整大小。单位是容器的比例。图表不能放置在其容器之外,并且宽度和高度是主要限制:如果 x + w >1 , 则 x = 1 - w。

x是从左到右的水平位置

y是从顶部开始的垂直位置

h是图表相对于其容器的高度

w是盒子的宽度

除了大小和位置之外,相关属性的模式还可以设置为 factor 或 edge ,默认值是 factor 。

可以将layoutTarget设置为 outer 或 inner 。默认值为 outer 。

图例的位置可以通过设置它的位置进行控制 r , l , t , b 和 tr 分别控制右, 左, 顶部,底部。默认值为 r 。

或应用手动布局

整个数据系列和单个数据点可以通过 graphicalProperties 广泛地设置样式。把事情做好可能需要一些时间。

仪表图组合了一个饼图和一个环形图去创建一个"仪表"。第一个图表时包含四个切片的环形图,前三个切片与仪表的颜色相对应,第二个切片对应仪表的颜色。第四部分是甜甜圈的一半,不可见。

添加了包含三个切片的饼图。第一个和第三个切片是不可见的,因此第二个切片可以充当仪表上的指针。

使用数据系列中各个数据点的图形属性来完成效果。

图表工作表是一个只包含图表的特殊工作表。图表的所有数据必须在不同的工作表上。