python布局管理数据_Python GUI之tkinter布局管理

pack布局 使用 pack布局,将向容器中添加组件,第一个添加的组件在最上方,然后是依次向下添加。from tkinter import *

root = Tk()

#创建三个 Label 分别添加到root窗体中

#Label是一种用来显示文字或者图片的组件

Label(root,text = 'pack1',bg = 'red').pack()

Label(root, text = 'pack2', bg = 'blue').pack()

Label(root, text = 'pack3', bg = 'green').pack()

root.mainloop()1

2

3

4

5

6

7

8

9

10

111

2

3

4

5

6

7

8

9

10

11

如图:

106524703_1

pack常用属性属性名属性简析取值取值说明

fill设置组件是否向水平或垂直方向填充X、Y、BOTH 和NONEfill = X(水平方向填充)fill = Y(垂直方向填充)fill = BOTH(水平和垂直)NONE 不填充

expand设置组件是否展开,当值为YES时,side选项无效。组件显示在父容器中心位置;若fill选项为BOTH,则填充父组件的剩余空间。默认为不展开YES 、NO(1、0)expand=YES expand=NO

side设置组件的对齐方式LEFT、TOP、RIGHT、BOTTOM值为左、上、右、下

ipadx、ipady设置x方向(或者y方向)内部间隙(子组件之间的间隔)可设置数值,默认是0非负整数,单位为像素

padx、pady设置x方向(或者y方向)外部间隙(与之并列的组件之间的间隔)可设置数值,默认是0非负整数,单位为像素

anchor锚选项,当可用空间大于所需求的尺寸时,决定组件被放置于容器的何处N、E、S、W、NW、NE、SW、SE、CENTER(默认值为CENTER)表示八个方向以及中心

注意:上表中取值都是常量,YES等价于”yes”,亦可以直接传入字符串值。另外当界面复杂度增加时,要实现某种布局效果,需要分层来实现。from tkinter import * #注意模块导入方式,否则代码会有差别

class App:

def __init__(self, master):

#使用Frame增加一层容器

fm1 = Frame(master)

#Button是一种按钮组件,与Label类似,只是多出了响应点击的功能

Button(fm, text='Top').pack(side=TOP, anchor=W, fill=X, expand=YES)

Button(fm, text='Center').pack(side=TOP, anchor=W, fill=X, expand=YES)

Button(fm, text='Bottom').pack(side=TOP, anchor=W, fill=X, expand=YES)

fm1.pack(side=LEFT, fill=BOTH, expand=YES)

fm2 = Frame(master)

Button(fm2, text='Left').pack(side=LEFT)

Button(fm2, text='This is the Center button').pack(side=LEFT)

Button(fm2, text='Right').pack(side=LEFT)

fm2.pack(side=LEFT, padx=10)

root = Tk()

root.title("Pack - Example")

display = App(root)

root.mainloop()1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

231

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23如上,创建一个Frame容器fm1,将三个垂直排列的Button组件使用pack布局放入fm1容器中,然后创建fm2容器,同样将三个水平排列的Button组件放入,最后将两个Frame容器当做组件,使用pack布局放入根窗体容器中。如此分层布局,实现了相对复杂一些的界面需求。

106524703_2

pack类提供了下列函数(使用组件实例对象调用):函数名描述

pack_slaves()以列表方式返回本组件的所有子组件对象。

pack_configure(option=value)给pack布局管理器设置属性,使用属性(option)= 取值(value)方式设置

propagate(boolean)设置为True表示父组件的几何大小由子组件决定(默认值),反之则无关。

pack_info()返回pack提供的选项所对应得值。

pack_forget()Unpack组件,将组件隐藏并且忽略原有设置,对象依旧存在,可以用pack(option, …),将其显示。

location(x, y)x, y为以像素为单位的点,函数返回此点是否在单元格中,在哪个单元格中。返回单元格行列坐标,(-1, -1)表示不在其中

size()返回组件所包含的单元格,揭示组件大小。grid布局 grid布局又被称作网格布局,是最被推荐使用的布局。程序大多数都是矩形的界面,我们可以很容易把它划分为一个几行几列的网格,然后根据行号和列号,将组件放置于网格之中。使用grid 布局时,需要在里面指定两个参数,分别用row 表示行,column 表示列。需要注意的是 row 和 column 的序号都从0 开始。

如下图,假设将界面分成网格。

106524703_3

grid属性设置属性名属性简析取值取值说明

row、columnrow为行号,column为列号,设置将组件放置于第几行第几列取值为行、列的序号,不是行数与列数row 和 column 的序号都从0 开始

sticky设置组件在网格中的对齐方式N、E、S、W、NW、NE、SW、SE、CENTER类似于pack布局中的锚选项

rowspan组件所跨越的行数跨越的行数取值为跨越占用的行数,而不是序号

columnspan组件所跨越的列数跨越的列数取值为跨越占用的列数,而不是序号

ipadx、ipady、padx、pady组件的内部、外部间隔距离,与pack的该属性用法相同同pack同pack

grid类提供了下列函数(使用组件实例对象调用):函数名描述

grid_slaves()以列表方式返回本组件的所有子组件对象。

grid_configure(option=value)给pack布局管理器设置属性,使用属性(option)= 取值(value)方式设置

grid_propagate(boolean)设置为True表示父组件的几何大小由子组件决定(默认值),反之则无关。

grid_info()返回pack提供的选项所对应得值。

grid_forget()Unpack组件,将组件隐藏并且忽略原有设置,对象依旧存在,可以用pack(option, …),将其显示。

grid_location(x, y)x, y为以像素为单位的点,函数返回此点是否在单元格中,在哪个单元格中。返回单元格行列坐标,(-1, -1)表示不在其中

size()返回组件所包含的单元格,揭示组件大小。place布局。 最简单最灵活的一种布局,使用组件坐标来放置组件的位置。但是不太推荐使用,在不同分辨率下,界面往往有较大差异。

place属性设置属性名属性简析取值取值说明

anchor锚选项,同pack布局默认值为 NW同pack布局

x、y组件左上角的x、y坐标整数,默认值0绝对位置坐标,单位像素

relx、rely组件相对于父容器的x、y坐标0~1之间浮点数相对位置,0.0表示左边缘(或上边缘),1.0表示右边缘(或下边缘)

width、height组件的宽度、高度非负整数单位像素

relwidth、relheight组件相对于父容器的宽度、高度0~1之间浮点数与relx(rely)取值相似

bordermode如果设置为INSIDE,组件内部的大小和位置是相对的,不包括边框;如果是OUTSIDE,组件的外部大小是相对的,包括边框INSIDE、OUTSIDE(默认值INSIDE)可以使用常量INSIDE、OUTSIDE,也可以使用字符串形式”inside”、”outside”

place类提供了下列函数(使用组件实例对象调用):函数名描述

place_slaves()以列表方式返回本组件的所有子组件对象。

place_configure(option=value)给pack布局管理器设置属性,使用属性(option)= 取值(value)方式设置

propagate(boolean)设置为True表示父组件的几何大小由子组件决定(默认值),反之则无关。

place_info()返回pack提供的选项所对应得值。

grid_forget()Unpack组件,将组件隐藏并且忽略原有设置,对象依旧存在,可以用pack(option, …),将其显示。

location(x, y)x, y为以像素为单位的点,函数返回此点是否在单元格中,在哪个单元格中。返回单元格行列坐标,(-1, -1)表示不在其中

size()返回组件所包含的单元格,揭示组件大小。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python管理系统GUI Tkinter是一种Python编程语言的图形用户界面工具包,它可以用来创建桌面应用程序和用户界面。它是Python标准库中的一部分,因此不需要额外安装。使用Tkinter,开发人员可以轻松地创建按钮、标签、文本框、下拉列表、菜单等控件,并将它们组合成一个完整的GUI应用程序。Tkinter还提供了一些布局管理器,可以帮助开发人员轻松地布局和排列控件。总之,Tkinter是一个非常强大和易于使用的GUI工具包,适用于Python开发人员。 ### 回答2: Python是一种简单易学但功能强大的编程语言。它可以灵活地应用于不同的领域,如数据分析、机器学习、自动化测试等。同时,Python还提供了许多有用的库和框架,可以帮助开发者更加高效地实现自己的项目。 在GUI方面,Python也提供了多种选择。其中TkinterPython自带的一种GUI工具包,它基于Tcl/Tk开发而来,支持多种平台,包括Windows、Linux和MacOS等。 使用Tkinter开发Python管理系统GUI可以极大地提高开发效率,它提供了各种小部件,如按钮、标签、文本框、列表框等,可以方便地创建复杂的用户界面。此外,Tkinter还提供了各种布局管理器,使控件可以按照一定规则排列,如Pack、Grid和Place等等。 在开发Python管理系统GUI时,可以利用Tkinter的各种功能实现界面的各种交互,如按钮点击、列表框选择、文本框输入等等。此外,Tkinter还支持添加各种事件处理程序,如鼠标事件、键盘事件等等,可以根据用户的行为对应采取不同的响应操作。 总的来说,使用PythonTkinter开发管理系统GUI是一种高效、便捷的方法。无论是初学者还是有经验的开发者都可以轻松掌握,并能够通过它实现各种项目需求。 ### 回答3: Python是最流行的编程语言之一,在各个领域都得到了广泛的应用。它有很多优点,比如易于学习、代码简洁、可读性高等。在Python中,tkinter是一个常用的GUI库,可以让开发者更好地创建用户界面。 Python管理系统GUI tkinter就是一种基于tkinter库的系统,主要用于快速创建图形用户界面。tkinter库可以实现丰富的用户界面设计,包括各种控件(如按钮、标签、输入框等)、菜单、对话框等。 Python管理系统GUI tkinter还有其他很多特点,使得它成为管理系统开发的理想选择。比如: 1. 开发快速简单:使用Pythontkinter可以很快地创建一个简单的应用程序,只需要几行代码就可以实现。 2. 跨平台:Python程序可以在各种操作系统平台上运行,只需要进行轻微的修改。 3. 可扩展性强:Python有很多第三方库和插件,可以增加程序的功能和性能。 4. 可维护性好:Python代码易于理解和维护,可读性强。 5. 统一性好:利用tkinter的标准化界面元素,可以使应用程序具有统一的外观和操作方法。 总之,Python管理系统GUI tkinter是一种很有价值的工具,可以快速吸引开发人员创造用户中心化智能系统界面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值