没有合适的资源?快使用搜索试试~ 我知道了~
首页tkinter官方手册.pdf
资源详情
资源评论
资源推荐

Tkinter 8.5 reference: a GUI for
Python
John W. Shipman
2013-12-31 17:59
Abstract
Describes the Tkinter widget set for constructing graphical user interfaces (GUIs) in the Python
programming language. Includes coverage of the ttk themed widgets.
This publication is available in Web form
1
and also as a PDF document
2
. Please forward any
comments to tcc-doc@nmt.edu.
Table of Contents
1. A cross-platform graphical user interface builder for Python ...................................................... 3
2. A minimal application .............................................................................................................. 4
3. Denitions .............................................................................................................................. 5
4. Layout management ................................................................................................................ 5
4.1. The .grid() method .................................................................................................... 6
4.2. Other grid management methods ................................................................................... 7
4.3. Conguring column and row sizes ................................................................................. 7
4.4. Making the root window resizeable ................................................................................ 8
5. Standard attributes .................................................................................................................. 9
5.1. Dimensions ................................................................................................................... 9
5.2. The coordinate system ................................................................................................. 10
5.3. Colors ......................................................................................................................... 10
5.4. Type fonts ................................................................................................................... 10
5.5. Anchors ...................................................................................................................... 12
5.6. Relief styles ................................................................................................................. 12
5.7. Bitmaps ....................................................................................................................... 12
5.8. Cursors ....................................................................................................................... 13
5.9. Images ........................................................................................................................ 14
5.10. Geometry strings ....................................................................................................... 15
5.11. Window names .......................................................................................................... 16
5.12. Cap and join styles ..................................................................................................... 16
5.13. Dash patterns ............................................................................................................ 17
5.14. Matching stipple patterns ........................................................................................... 17
6. Exception handling ................................................................................................................ 18
7. The Button widget ................................................................................................................ 18
8. The Canvas widget ................................................................................................................ 20
8.1. Canvas coordinates ..................................................................................................... 22
8.2. The Canvas display list ............................................................................................... 22
8.3. Canvas object IDs ....................................................................................................... 22
1
http://www.nmt.edu/tcc/help/pubs/tkinter/
2
http://www.nmt.edu/tcc/help/pubs/tkinter/tkinter.pdf
1Tkinter 8.5 referenceNew Mexico Tech Computer Center

8.4. Canvas tags ................................................................................................................ 22
8.5. Canvas tagOrId arguments ...................................................................................... 22
8.6. Methods on Canvas widgets ........................................................................................ 22
8.7. Canvas arc objects ...................................................................................................... 28
8.8. Canvas bitmap objects ................................................................................................ 29
8.9. Canvas image objects .................................................................................................. 30
8.10. Canvas line objects .................................................................................................... 30
8.11. Canvas oval objects ................................................................................................... 32
8.12. Canvas polygon objects ............................................................................................. 33
8.13. Canvas rectangle objects ............................................................................................ 35
8.14. Canvas text objects .................................................................................................... 37
8.15. Canvas window objects ............................................................................................. 38
9. The Checkbutton widget ...................................................................................................... 38
10. The Entry widget ................................................................................................................ 41
10.1. Scrolling an Entry widget ......................................................................................... 45
10.2. Adding validation to an Entry widget ........................................................................ 45
11. The Frame widget ................................................................................................................ 47
12. The Label widget ................................................................................................................ 48
13. The LabelFrame widget ...................................................................................................... 50
14. The Listbox widget ............................................................................................................ 52
14.1. Scrolling a Listbox widget ....................................................................................... 56
15. The Menu widget .................................................................................................................. 56
15.1. Menu item creation (coption) options ........................................................................ 59
15.2. Top-level menus ........................................................................................................ 60
16. The Menubutton widget ...................................................................................................... 61
17. The Message widget ............................................................................................................ 63
18. The OptionMenu widget ...................................................................................................... 64
19. The PanedWindow widget .................................................................................................... 65
19.1. PanedWindow child conguration options .................................................................. 67
20. The Radiobutton widget .................................................................................................... 68
21. The Scale widget ................................................................................................................ 71
22. The Scrollbar widget ........................................................................................................ 74
22.1. The Scrollbar command callback ............................................................................ 77
22.2. Connecting a Scrollbar to another widget ................................................................ 77
23. The Spinbox widget ............................................................................................................ 78
24. The Text widget .................................................................................................................. 82
24.1. Text widget indices ................................................................................................... 84
24.2. Text widget marks .................................................................................................... 86
24.3. Text widget images ................................................................................................... 86
24.4. Text widget windows ............................................................................................... 87
24.5. Text widget tags ....................................................................................................... 87
24.6. Setting tabs in a Text widget ...................................................................................... 87
24.7. The Text widget undo/redo stack .............................................................................. 88
24.8. Methods on Text widgets .......................................................................................... 88
25. Toplevel: Top-level window methods ................................................................................. 95
26. Universal widget methods .................................................................................................... 97
27. Standardizing appearance ................................................................................................... 105
27.1. How to name a widget class ...................................................................................... 106
27.2. How to name a widget instance ................................................................................. 107
27.3. Resource specication lines ....................................................................................... 107
27.4. Rules for resource matching ...................................................................................... 108
28. ttk: Themed widgets ........................................................................................................... 108
New Mexico Tech Computer CenterTkinter 8.5 reference2

28.1. Importing ttk ........................................................................................................... 109
28.2. The ttk widget set ..................................................................................................... 110
29. ttk.Button ........................................................................................................................ 110
30. ttk.Checkbutton .............................................................................................................. 112
31. ttk.Combobox .................................................................................................................... 115
32. ttk.Entry .......................................................................................................................... 116
33. ttk.Frame .......................................................................................................................... 118
34. ttk.Label .......................................................................................................................... 119
35. ttk.LabelFrame ................................................................................................................ 122
36. ttk.Menubutton ................................................................................................................ 124
37. ttk.Notebook .................................................................................................................... 126
37.1. Virtual events for the ttk.Notebook widget .............................................................. 128
38. ttk.PanedWindow .............................................................................................................. 129
39. ttk.Progressbar .............................................................................................................. 130
40. ttk.Radiobutton .............................................................................................................. 131
41. ttk.Scale .......................................................................................................................... 133
42. ttk.Scrollbar .................................................................................................................. 135
43. ttk.Separator .................................................................................................................. 137
44. ttk.Sizegrip .................................................................................................................... 137
45. ttk.Treeview .................................................................................................................... 137
45.1. Virtual events for the ttk.Treeview widget .............................................................. 145
46. Methods common to all ttk widgets ..................................................................................... 145
46.1. Specifying widget states in ttk ................................................................................... 146
47. Customizing and creating ttk themes and styles .................................................................... 146
48. Finding and using ttk themes ............................................................................................... 147
49. Using and customizing ttk styles .......................................................................................... 147
50. The ttk element layer ........................................................................................................... 149
50.1. ttk layouts: Structuring a style ................................................................................... 149
50.2. ttk style maps: dynamic appearance changes .............................................................. 151
51. Connecting your application logic to the widgets .................................................................. 153
52. Control variables: the values behind the widgets ................................................................... 153
53. Focus: routing keyboard input ............................................................................................. 155
53.1. Focus in ttk widgets .................................................................................................. 156
54. Events ................................................................................................................................ 157
54.1. Levels of binding ...................................................................................................... 157
54.2. Event sequences ....................................................................................................... 158
54.3. Event types .............................................................................................................. 158
54.4. Event modiers ........................................................................................................ 160
54.5. Key names ............................................................................................................... 160
54.6. Writing your handler: The Event class ...................................................................... 162
54.7. The extra arguments trick ......................................................................................... 164
54.8. Virtual events ........................................................................................................... 165
55. Pop-up dialogs ................................................................................................................... 165
55.1. The tkMessageBox dialogs module ......................................................................... 165
55.2. The tkFileDialog module ..................................................................................... 167
55.3. The tkColorChooser module ................................................................................. 168
1. A cross-platform graphical user interface builder for Python
Tkinter is a GUI (graphical user interface) widget set for Python. This document was written for Python
2.7 and Tkinter 8.5 running in the X Window system under Linux. Your version may vary.
3Tkinter 8.5 referenceNew Mexico Tech Computer Center

Pertinent references:
•
Fredrik Lundh, who wrote Tkinter, has two versions of his An Introduction to Tkinter: a more complete
1999 version
3
and a 2005 version
4
that presents a few newer features.
•
Python 2.7 quick reference
5
: general information about the Python language.
•
For an example of a sizeable working application (around 1000 lines of code), see huey: A color and
font selection tool
6
. The design of this application demonstrates how to build your own compound
widgets.
We'll start by looking at the visible part of Tkinter: creating the widgets and arranging them on the
screen. Later we will talk about how to connect the face—the “front panel”—of the application to the
logic behind it.
2. A minimal application
Here is a trivial Tkinter program containing only a Quit button:
#!/usr/bin/env python
1
import Tkinter as tk
2
class Application(tk.Frame):
3
def __init__(self, master=None):
tk.Frame.__init__(self, master)
4
self.grid()
5
self.createWidgets()
def createWidgets(self):
self.quitButton = tk.Button(self, text='Quit',
command=self.quit)
6
self.quitButton.grid()
7
app = Application()
8
app.master.title('Sample application')
9
app.mainloop()
10
1
This line makes the script self-executing, assuming that your system has Python correctly installed.
2
This line imports the Tkinter module into your program's namespace, but renames it as tk.
3
Your application class must inherit from Tkinter's Frame class.
4
Calls the constructor for the parent class, Frame.
5
Necessary to make the application actually appear on the screen.
6
Creates a button labeled “Quit”.
7
Places the button on the application.
8
The main program starts here by instantiating the Application class.
9
This method call sets the title of the window to “Sample application”.
10
Starts the application's main loop, waiting for mouse and keyboard events.
3
http://www.pythonware.com/library/tkinter/introduction/
4
http://ebot.org/tkinterbook/
5
http://www.nmt.edu/tcc/help/pubs/python/
6
http://www.nmt.edu/tcc/help/lang/python/examples/huey/
New Mexico Tech Computer CenterTkinter 8.5 reference4

3. Definitions
Before we proceed, let's dene some of the common terms.
window
This term has dierent meanings in dierent contexts, but in general it refers to a rectangular area
somewhere on your display screen.
top-level window
A window that exists independently on your screen. It will be decorated with the standard frame
and controls for your system's desktop manager. You can move it around on your desktop. You
can generally resize it, although your application can prevent this
widget
The generic term for any of the building blocks that make up an application in a graphical user in-
terface. Examples of widgets: buttons, radiobuttons, text elds, frames, and text labels.
frame
In Tkinter, the Frame widget is the basic unit of organization for complex layouts. A frame is a
rectangular area that can contain other widgets.
child, parent
When any widget is created, a parent-child relationship is created. For example, if you place a text
label inside a frame, the frame is the parent of the label.
4. Layout management
Later we will discuss the widgets, the building blocks of your GUI application. How do widgets get
arranged in a window?
Although there are three dierent “geometry managers” in Tkinter, the author strongly prefers the
.grid() geometry manager for pretty much everything. This manager treats every window or frame
as a table—a gridwork of rows and columns.
•
A cell is the area at the intersection of one row and one column.
• The width of each column is the width of the widest cell in that column.
• The height of each row is the height of the largest cell in that row.
• For widgets that do not ll the entire cell, you can specify what happens to the extra space. You can
either leave the extra space outside the widget, or stretch the widget to t it, in either the horizontal
or vertical dimension.
•
You can combine multiple cells into one larger area, a process called spanning.
When you create a widget, it does not appear until you register it with a geometry manager. Hence,
construction and placing of a widget is a two-step process that goes something like this:
self.thing = tk.Constructor(parent, ...)
self.thing.grid(...)
where Constructor is one of the widget classes like Button, Frame, and so on, and parent is the
parent widget in which this child widget is being constructed. All widgets have a .grid() method
that you can use to tell the geometry manager where to put it.
5Tkinter 8.5 referenceNew Mexico Tech Computer Center
剩余167页未读,继续阅读















安全验证
文档复制为VIP权益,开通VIP直接复制

评论1