Python GUI编程实践

看完了《python编程实践》对Python的基本语法有了一定的了解,加上认识到python在图形用户界面和数据库支持方面快捷,遂决定动手实践一番。

因为是刚接触Python,对于基本的数据结构tuple,list,set和dictionary认识尚浅,了解到在Python里OO的思想跟在C++和Java里相差无几。又因为手机里面有个andriod应用iustc,它集成了在科大的校车查询、教室查询、科大地图、成绩管理和客户端ustcbbs,虽然小但还算五脏俱全,遂决定从最简单的校车查询入手,用Python写个简单的校车查询功能。

首先从官网弄到校车运行时间表,考虑到学校的四个校区,时间表分为直线和环线,同时考虑是否为节假日,班次安排也有相应变化。

针对实际的校车查询问题简化了数据表数据处理方法,但为了不失一般性还是老老实实考虑了某些限制和业务逻辑,当然对于极端的班车发车数据进行了剔除(浪费时间)。

考虑基本的UI界面为选择出发地,选择目的地,选择是否为节假日,选择是否从当前时间开始查询。注意到iustc里也对查询进行了简化,估计它也对极端的发车时间进行了处理,查询结果应该不是100%正确。并且在出发方式上考虑到北区太小去的人少,iustc直接忽略了相关的选择(只剩东、南、北互相作为出发地目的地共6种可供选择),在结果的显示上它也采用了主要类似时间+直线(或者环线)+具体途径地点(西区->北区->东区)的方式。

最终效果如下:

其中:

extractData.py为从多个时间表.txt文件中按照指定格式提取时间班次地点数据。

scheduleDB.py为将具体提取的数据写入数据库文件schedule.db。

schoolbusschedule.py则为最终的界面显示和查询显示功能实现。

用到Python基本语法,用到基本的数据库创建、插入数据和查询数据,文件基本读写,格式化输出,还有Python的Tkinter编程(具体为Label、OptionMenu、Checkbutton、Listbox控件,以及布局和事件处理,属性设置)。

没用到OO思想,方法封装也基本等于没有。

总结:Python各种包封装的很好,实践简单的逻辑功能相对比较方便。需要继续深入。

改进:其中在结果的呈现时没有考虑加入途径地点,可以改进数据处理方法(直接分四种情况,从东~西、南、北等)。OptionMenu实现下拉框略显丑陋,不过这些不是重点。

转载于:https://www.cnblogs.com/francfu/p/3458517.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值