python tkinter手册_Python3 tkinter系列

Python3 tkinter系列

所谓布局,就是指控制窗体容器中各个控件(组件)的位置关系。tkinter 共有三种几何布局管理器,分别是:pack布局,grid布局,place布局。

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

11

如图:

SouthEast

pack常用属性

属性名

属性简析

取值

取值说明

fill

设置组件是否向水平或垂直方向填充

X、Y、BOTH 和NONE

fill = 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(fm1, text='Top').pack(side=TOP, anchor=W, fill=X, expand=YES)

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

Button(fm1, 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

23

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

SouthEast

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 开始。

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

SouthEast

grid属性设置

属性名

属性简析

取值

取值说明

row、column

row为行号,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
    评论
Abstract Describes the Tkinter widget set for constructing graphical user interfaces (GUIs) in the Python programming language. This publication is available in Web form1 and also as a PDF document2. Please forward any comments to tcc-doc@nmt.edu. Table of Contents 1. What is Tkinter?.......................................................................................................................3 2. A minimal application..............................................................................................................3 3. Definitions..............................................................................................................................4 4. Layout management.................................................................................................................5 4.1. The .grid() method....................................................................................................5 4.2. Other grid management methods...................................................................................6 4.3. Configuring column and row sizes.................................................................................7 4.4. Making the root window resizeable................................................................................8 5. Standard attributes...................................................................................................................8 5.1. Dimensions...................................................................................................................9 5.2. The coordinate system...................................................................................................9 5.3. Colors...........................................................................................................................9 5.4. Type fonts...................................................................................................................10 5.5. Anchors......................................................................................................................11 5.6. Relief styles.................................................................................................................12 5.7. Bitmaps.......................................................................................................................12 5.8. Cursors.......................................................................................................................12 5.9. Images........................................................................................................................14 5.10. Geometry strings........................................................................................................14 5.11. Window names...........................................................................................................15 5.12. Cap and join styles.....................................................................................................15 5.13. Dash patterns.............................................................................................................16 5.14. Matching stipple patterns............................................................................................16 6. The Button widget................................................................................................................17 7. The Canvas widget................................................................................................................19 7.1. Canvas coordinates......................................................................................................20 7.2. The Canvas display list................................................................................................20 7.3. Canvas object IDs........................................................................................................21 7.4. Canvas tags................................................................................................................21 1http://www.nmt.edu/tcc/help/pubs/tkinter/ 2http://www.nmt.edu/tcc/help/pubs/tkinter/tkinter.pdf 1 Tkinter reference New Mexico Tech Computer Center 7.5. CanvastagOrId arguments......................................................................................21 7.6. Methods on Canvas widgets........................................................................................21 7.7. Canvas arc objects.......................................................................................................26 7.8. Canvas bitmap objects.................................................................................................28 7.9. Canvas image objects..................................................................................................29 7.10. Canvas line objects.....................................................................................................29 7.11. Canvas oval objects....................................................................................................31 7.12. Canvas polygon objects..............................................................................................32 7.13. Canvas rectangle objects.............................................................................................34 7.14. Canvas text objects.....................................................................................................35 7.15. Canvas window objects..............................................................................................36 8. The Checkbutton widget......................................................................................................37 9. The Entry widget..................................................................................................................40 9.1. Scrolling an Entry widget............................................................................................43 10. The Frame widget................................................................................................................43 11. The Label widget................................................................................................................44 12. The LabelFrame widget......................................................................................................46 13. The Listbox widget............................................................................................................48 13.1. Scrolling a Listbox widget........................................................................................52 14. The Menu widget..................................................................................................................52 14.1. Menu item creation (coption) options.........................................................................55 14.2. Top-level menus.........................................................................................................56 15. The Menubutton widget......................................................................................................57 16. The Message widget............................................................................................................59 17. The OptionMenu widget.......................................................................................................60 18. The PanedWindow widget....................................................................................................61 18.1. PanedWindow child configuration options...................................................................63 19. The Radiobutton widget....................................................................................................64 20. The Scale widget................................................................................................................67 21. The Scrollbar widget........................................................................................................70 21.1. The Scrollbarcommand callback............................................................................72 21.2. Connecting a Scrollbar to another widget................................................................73 22. The Spinbox widget............................................................................................................73 23. The Text widget..................................................................................................................78 23.1. Text widget indices...................................................................................................80 23.2. Text widget marks....................................................................................................81 23.3. Text widget images...................................................................................................82 23.4. Text widget windows...............................................................................................82 23.5. Text widget tags.......................................................................................................82 23.6. Setting tabs in a Text widget......................................................................................83 23.7. The Text widget undo/redo stack..............................................................................83 23.8. Methods on Text widgets..........................................................................................84 24. Toplevel: Top-level window methods..................................................................................91 25. Universal widget methods.....................................................................................................93 26. Standardizing appearance...................................................................................................101 26.1. How to name a widget class......................................................................................102 26.2. How to name a widget instance.................................................................................102 26.3. Resource specification lines.......................................................................................102 26.4. Rules for resource matching......................................................................................103 27. Connecting your application logic to the widgets...................................................................104 28. Control variables: the values behind the widgets...................................................................104 29. Focus: routing keyboard input.............................................................................................106 New Mexico Tech Computer Center Tkinter reference 2 30. Events................................................................................................................................107 30.1. Levels of binding......................................................................................................108 30.2. Event sequences.......................................................................................................109 30.3. Event types..............................................................................................................109 30.4. Event modifiers........................................................................................................110 30.5. Key names...............................................................................................................111 30.6. Writing your handler: The Event class......................................................................113 30.7. The extra arguments trick..........................................................................................115 30.8. Virtual events...........................................................................................................116 31. Pop-up dialogs....................................................................................................................116 31.1. The tkMessageBox dialogs module..........................................................................116 31.2. The tkFileDialog module.....................................................................................118 31.3. The tkColorChooser module.................................................................................119

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值