图书目录

目 录

第 1章 基本概念

1-1 认识GUI和tkinter .................... 2

1-2 建立窗口 ................................... 3

1-3 窗口属性的设置 ......................... 3

1-4 窗口位置的设置 .......................... 5

1-5 认识tkinter的Widget ................ 7

1-5-1 tkinter 的 Widget ............................. 7

1-5-2 加强版的 tkinter 模块 ..................... 8

1-6 Widget的共同属性..................... 9

1-7 Widget的共同方法 ..................... 9

第 2章 标签Label

2-1 标签Label的基本应用 .............. 12

2-2 Widget共同属性Color ............. 14

2-3 Widget的共同属性Dimensions .... 15

2-4 Widget的共同属性Anchor ....... 15

2-5 Label文字输出换行位置

wraplength ............................. 17

2-6 Widget的共同属性Font ........... 17

2-7 Label的justify参数 ................. 18

2-8 Widget的共同属性

Bitmaps ................................. 20

2-9 compound参数 ....................... 20

2-10 Widget的共同属性relief ........ 22

2-11 标签文字与标签区间的间距

padx/pady ............................ 22

2-12 图像PhotoImage .................. 23

2-13 Widget的共同方法

config( ) ............................... 27

2-14 Widget的共同属性

Cursors ............................... 28

2-15 Widget的共同方法keys( ) ...... 29

2-16 分隔线Separator .................. 30

第 3章 窗口控件配置管理员

3-1 Widget Layout Manager ......... 33

3-2 pack方法 ............................... 33

3-2-1 side 参数 ....................................... 33

3-2-2 padx/pady 参数 ............................. 37

3-2-3 ipadx/ipady 参数 ........................... 40

3-2-4 anchor 参数 ................................... 41

3-2-5 fi ll 参数 ......................................... 42

3-2-6 expand 参数 .................................. 45

3-2-7 pack 的方法 .................................. 47

3-3 grid方法 ................................. 48

3-3-1 row 和 column ............................... 48

3-3-2 columnspan 参数 ........................... 50

3-3-3 rowspan 参数 ................................ 51

3-3-4 padx 和 pady 参数......................... 52

3-3-5 sticky 参数 .................................... 53

3-3-6 grid 方法的应用 ............................ 55

3-3-7 rowconfi gure( ) 和

columnconfi gure( ) ......................... 56

3-4 place方法 .............................. 58

3-4-1 x/y 参数 ......................................... 58

3-4-2 width/height 参数 .......................... 59

3-4-3 relx/rely 参数与 relwidth/relheight

参数 .............................................. 60

3-5 Widget控件位置总结 ............... 62

第 4章 功能按钮Button

4-1 功能按钮基本概念 ..................... 64

4-2 使用Lambda表达式 ................ 68

4-3 建立含图像的功能按钮 .............. 69

4-4 简易计算器按钮布局的应用 ........ 70

4-5 设计鼠标光标在功能

按钮上的形状 .......................... 72

Python GUI 设计—tkinter菜鸟编程

IV

第 5章 文本框Entry

5-1 文本框Entry的基本概念 ........... 74

5-2 使用show参数隐藏输入的字符 ... 75

5-3 Entry的get( )方法 .................. 77

5-4 Entry的insert( )方法 .............. 79

5-5 Entry的delete( )方法 ............. 80

5-6 计算数学表达式使用eval( ) ....... 81

第 6章 变量类别

6-1 变量类别的基本概念 ................. 84

6-2 get( )与set( ) ......................... 84

6-3 追踪trace( )使用模式w ........... 86

6-4 追踪trace( )使用模式r ............ 88

6-5 trace( )方法调用的

callback方法参数 .................... 89

6-6 计算器的设计 ........................... 90

第 7章 选项按钮与复选框

7-1 Radiobutton选项按钮 .............. 94

7-1-1 选项按钮的基本概念 ................... 94

7-1-2 将字典应用在选项按钮上 ............ 97

7-1-3 盒子选项按钮 ............................... 98

7-1-4 建立含图像的选项按钮 ............... 99

7-2 Checkbutton复选框 .............. 101

7-2-1 复选框的基本概念 ..................... 101

7-3 简单编辑程序的应用 ............... 105

第 8章 容器控件

8-1 框架Frame ........................... 108

8-1-1 框架的基本概念 ......................... 108

8-1-2 在框架内创建 Widget

控件 ............................................ 110

8-1-3 活用 relief 属性........................... 110

8-1-4 在含 raised 属性的框架内

创建复选框 ..................................111

8-1-5 额外对 relief 属性的支持 ........... 112

8-2 标签框架LabelFrame ............ 113

8-2-1 标签框架的基本概念 ................. 113

8-2-2 将标签框架应用于复选框 ......... 115

8-3 顶层窗口Toplevel ................. 116

8-3-1 Toplevel 窗口的基本概念........... 116

8-3-2 使用 Toplevel 窗口仿真对话框 .... 117

第 9章 与数字有关的Widget

9-1 Scale的数值输入控制 ............ 120

9-1-1 Scale 的基本概念 ....................... 120

9-1-2 取得与设置 Scale 的尺度值 ....... 122

9-1-3 使用 Scale 设置窗口背景颜色 .....123

9-1-4 askcolor( ) 方法 ........................... 125

9-1-5 容器的应用 ................................. 126

9-2 Spinbox控件 ........................ 127

9-2-1 Spinbox 控件基本概念 ............... 127

9-2-2 get( ) 方法的应用 ....................... 129

9-2-3 以序列存储 Spinbox 的数值

数据 ............................................ 130

9-2-4 非数值数据 ................................. 131

第 10章 Message与Messagebox

10-1 Message ............................ 133

10-1-1 Message 的基本概念 ................ 133

10-1-2 使用字符串变量处理 text

参数 .......................................... 134

10-2 Messagebox ...................... 135

第 11章 事件和绑定

11-1 Widget的command

参数 ................................... 141

11-2 事件绑定 ............................. 142

11-2-1 鼠标绑定的基本应用................ 145

11-2-2 键盘绑定的基本应用................ 147

11-2-3 键盘与鼠标事件绑定的陷阱 ...... 148

11-3 取消绑定 ............................. 149

11-4 一个事件绑定多个事件处理

程序 ................................... 151

11-5 Protocols ........................... 152

第 12章 列表框Listbox与滚动条

Scrollbar

12-1 建立列表框 .......................... 154

12-2 建立列表框项目insert( ) ....... 155

12-3 Listbox的基本操作 .............. 159

12-3-1 列出列表框的选项数量

size( ) ........................................ 159

目录

V

12-3-2 选取特定索引项 selection_

set( ) .......................................... 160

12-3-3 删除特定索引项 delete( ) ......... 161

12-3-4 传回指定的索引项 get( ) .......... 163

12-3-5 传回所选取项目的索引

curselection( ) ........................... 164

12-3-6 检查指定索引项是否被选取

selection_includes( ) ................. 165

12-4 Listbox与事件绑定 .............. 165

12-4-1 虚拟绑定应用于单选 ............... 165

12-4-2 虚拟绑定应用于多选 ............... 167

12-5 活用加入和删除项目 .............. 168

12-6 Listbox项目的排序 .............. 170

12-7 拖曳Listbox中的项目........... 171

12-8 滚动条的设计 ....................... 173

第 13章 OptionMenu与Combobox

13-1 下拉式列表OptionMenu ....... 177

13-1-1 建立基本的 OptionMenu .......... 177

13-1-2 使用元组建立列表项目............ 178

13-1-3 建立默认选项 set( ) .................. 178

13-1-4 获得选项内容 get( ) .................. 179

13-2 组合框Combobox ............... 180

13-2-1 建立 Combobox ........................ 180

13-2-2 设置默认选项 current( ) ........... 181

13-2-3 获得目前选项 get( ) .................. 182

13-2-4 绑定 Combobox ........................ 183

第 14章 容器PanedWindow和

Notebook

14-1 PanedWindow .................... 186

14-1-1 PanedWindow 基本概念 ........... 186

14-1-2 插入子控件 add( ) ..................... 186

14-1-3 建立 LabelFrame 当作子对象 .. 187

14-1-4 tkinter.ttk 模块的 weight

参数 .......................................... 188

14-1-5 在 PanedWindow 内插入不同

控件 .......................................... 190

14-2 Notebook ........................... 191

14-2-1 Notebook 基本概念 .................. 191

14-2-2 绑定选项卡与子控件内容 ........ 192

第 15章 进度条Progressbar

15-1 Progressbar的基本应用 ...... 195

15-2 Progressbar动画设计 ......... 196

15-3 Progressbar的方法start( )/

step( )/stop( ) ..................... 198

15-4 indeterminate模式 .............. 200

第 16章 菜单Menu和工具栏

Toolbars

16-1 菜单Menu设计的基本概念 ..... 202

16-2 tearoff参数 ......................... 204

16-3 菜单列表间加上分隔线 .......... 205

16-4 建立多个菜单的应用.............. 206

16-5 Alt快捷键 ............................ 208

16-6 Ctrl+快捷键 ........................ 210

16-7 创建子菜单 .......................... 211

16-8 建立弹出式菜单 .................... 212

16-9 add_checkbutton( ) ............ 213

16-10 创建工具栏Toolbar ............ 215

第 17章 文字区域Text

17-1 文字区域Text的基本概念 ..... 218

17-2 插入文字insert( ) ................. 220

17-3 Text加上滚动条Scrollbar

设计 ................................... 221

17-4 字形 ................................... 224

17-4-1 family ........................................ 224

17-4-2 weight ........................................ 225

17-4-3 size ............................................ 227

17-5 选取文字 ............................. 228

17-6 认识Text的索引 .................. 229

17-7 建立书签 ............................. 232

17-8 标签 ................................... 233

17-9 Cut/Copy/Paste功能 ........... 236

17-10 复原与重复 ........................ 239

17-11 查找文字 ........................... 241

17-12 拼写检查 ........................... 243

Python GUI 设计—tkinter菜鸟编程

VI

17-13 存储Text控件内容 ............. 244

17-14 新建文档 ........................... 248

17-15 打开文档 ........................... 249

17-16 默认含滚动条的ScrolledText

控 件 .................................. 251

17-17 插入图像 ........................... 252

第 18章 Treeview

18-1 Treeview的基本概念 ........... 254

18-2 格式化Treeview栏位内容 .... 258

18-3 建立不同颜色的行内容 .......... 260

18-4 建立层级式的Treeview ........ 262

18-5 插入图像 ............................. 263

18-6 Selection选项发生与事件

触发 ................................... 264

18-7 删除项目 ............................. 266

18-8 插入项目 ............................. 267

18-9 双击某个项目 ....................... 270

18-10 Treeview绑定滚动条 ......... 271

18-11 排序.................................. 272

第 19章 Canvas

19-1 绘图功能 ............................. 277

19-1-1 建立画布 ................................... 277

19-1-2 绘制线条 create_line( ) ............. 277

19-1-3 绘制矩形

create_rectangle( ) ..................... 281

19-1-4 绘制圆弧 create_arc( ) .............. 282

19-1-5 绘制圆或椭圆

create_oval( ) ............................ 284

19-1-6 绘制多边形 create_polygon( ) ....285

19-1-7 输出文字 create_text( ) ............. 286

19-1-8 更改画布背景颜色 ................... 286

19-1-9 插入图像 create_image( ) ......... 287

19-2 鼠标拖曳绘制线条 ................. 288

19-3 动画设计 ............................. 289

19-3-1 基本动画 ................................... 289

19-3-2 多个球移动的设计 ................... 290

19-3-3 将随机数应用于多个球体的

移动 .......................................... 291

19-3-4 消息绑定 ................................... 292

19-4 反弹球游戏设计 .................... 293

19-4-1 设计球往下移动 ....................... 293

19-4-2 设计让球上下反弹 ................... 295

19-4-3 设计让球在画布四面反弹 ........ 296

19-4-4 建立球拍 ................................... 297

19-4-5 设计球拍移动 ........................... 298

19-4-6 球拍与球碰撞的处理 ............... 299

19-4-7 完整的游戏 ............................... 301

附录 A RGB色彩表 ....................304

附录 B 函数或方法索引表 ............310