从0开始学python第9.2节-备忘清单GUI版

2018-09-09  本文已影响0人  阿达老师

上节课我们学习了使用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上,方便大家下载查看。

阿达老师-孩子身边的编程专家

完整课程请关注阿达老师,主页里有完整的课程目录和观看地址

上一篇下一篇

猜你喜欢

热点阅读