从0开始学python第9.2节-备忘清单GUI版
上节课我们学习了使用tkinter开发用户界面。这节课,我们用tkinter重新实现一下备忘清单,给备忘清单加一个图形界面。
渲染备忘清单列表
首先,我们使用ListBox
渲染备忘列表。我们使用for循环迭代todo实例中的每个备忘,插入到ListBox
。然后调用pack()
方法渲染列表。
新增备忘
首先,我们使用Entry
空间渲染一个输入框。然后定义一个Button
,并给它绑定上saveTask
函数。
在saveTask函数中,我们获取Entry
控件里的内容,并调用todo对象的addTodo
方法完成备忘存储。
刷新列表
新增备忘后,界面上的备忘列表并没有被刷新调用。因此,我们将下面的这段代码抽成函数:
for task in todo.getAllToto(): taskListBox.insert(0, task) taskListBox.pack()
在程序运行和新增备忘后调用这个函数,完成新备忘信息的界面同步。
删除任务
删除列表的代码稍微有点复杂。我们给taskListBox
绑定了一个函数。注意我们使用的事件名字是:<<ListboxSelect>>
。在删除备忘代码里,我们通过解析event
对象的widget
属性,从而获得当前点击的是哪个备忘下标。
完成这个功能后,我们的图形化备忘清单就完成了。怎么样,会做了吗?当我们需要做图形界面时,记得找到正确的空间就可以完成我们的程序开发了。
总结
这节课,我们使用tkinter逐步完成了一个界面版的备忘清单。从程序开发中我们可以感知到,图形界面开发首先要做功能分解。然后按照视图层(button),逻辑层(函数),实现(Todo类)分层开发。代码得到了有效隔离。当然,这个项目还可以进一步优化。将图形界面的UI部分再做一个类,使代码得到更好的封装。
在后续的课程里,我们会再迭代出一个web版的任务清单,小朋友们可以多对比这几个版本的区别。整个程序的代码,阿达老师会上传到git上,方便大家下载查看。
阿达老师-孩子身边的编程专家
完整课程请关注阿达老师,主页里有完整的课程目录和观看地址