一、学习来由:

近期一段时间,应朋友的须要,完毕一款抓取软件。一般而言,python是我比較熟悉的语言,又有丰富的抓取和解析模块,所以果断选择之。

而这远远不是重点,后台程序在工作做常常写,所以比較熟悉,完毕了多线程mini_crawler之后,接下来就是要开发可视化的界面,将功能包装成友好的工具。

真正的探索刚刚開始。

在探索过程中,发现非常多问题。首先是GUI工具的选择。关于这方面的介绍不算少,除了python自带的tk,还有window的wxwidgets和wxpython。

tk适合开发简单的界面,相对来说比較简陋,只是不须要安装其它的工具,对于简单的界面须要还是不错的选择。

wxpython也是经常使用的GUI开发系统。只是写起来比較复杂,界面部分须要自己全然开发。

对于我而言,须要用到的有:

1. 比較美观的界面,

2. 后台多线程,后台执行长操作,实时更新前端UI,

3. 内容表格显示,

4. excel格式存储。

5. 多种消息框和对话框。

二、工具的选择

tk太过简单,考虑了一下,果断放弃,wxpython调研了一段时间,还參考了他人开发的工具源代码。感觉比較复杂,开发量比較大,我的时间仅仅有两周,还是放弃了。

在此,简单吐槽一下,通常软件在公布的时候,出于各种目的,往往“金玉其外败絮当中”,败絮指的是代码或文件包装的复杂,看着非常乱,事实上真正的功能并不复杂。这一点在我自己生成软件之后,看到之前清晰的代码,变成一大堆头疼的文件夹和文件后,深有体会。

终于我的选择是pyqt。版本号为4.

选择的原因:qt还是比較成熟的GUI工具,pyqt简单而已就是其python版本号,大部分功能和接口都支持,用着也比較方便。另外当安装eric开发环境后,能够支持qt designer,能够用熟悉的拖动来完毕直观的设计,这一点还是非常有吸引力的。

比較悲催的是,pyqt的相关资料非常少,可參考的书籍似乎仅仅有英文版《Rapid GUI Programming with Python and Qt》,版本号还相对较早。有时候会比較吃力。

网络上的资料,往往是比較经常使用的总结,如我遇到的后台多线程与前端UI交互的问题,查询起来就比較困难,非常多地方仅仅有蜻蜓点水的介绍和解释,终于还的自己想办法攻克。

三、实践经历

兴许通过自己的实践经历,结合开发软件用到的工作功能,介绍一下自己的学习过程,与大家分享。

最新文章

  1. jquery css3问卷答题卡翻页动画效果
  2. hotcss用法
  3. Python基于pandas的数据处理(一)
  4. JavaScript中清空数组的三种方式
  5. 数论 UVA 11388
  6. github 如何合并不同分支
  7. pom.xml
  8. 计算运行时间工具timeit
  9. Yandex 2013Q(Atoms: There and Back Again-贪心+模拟+List)
  10. Spring MVC 前后台数据交互
  11. C语言初学 简单定义圆的面积计算问题
  12. hdu1506(dp减少重复计算)
  13. 用 JS 点击左右按钮 使图片切换 - 最精简版-ljx2380000-ChinaUnix博客
  14. Java 容器之Hashset 详解
  15. ●HDU 1695 GCD
  16. Angular MVC
  17. 免费代理IP地址列表
  18. numpy 数据处理
  19. 深度学习课程笔记(七):模仿学习(imitation learning)
  20. 获取数据库表中自增长最新的id

热门文章

  1. 读书时间《JavaScript高级程序设计》二:面向对象
  2. http协议和web本质(转)
  3. android大概是通过logcat拦截Log
  4. 每天的学习经验:SharePoint 2013 定义自己添加的产品清单。Callout菜单项、文档关注、SharePoint服务机端对象模型查询
  5. 有JSON中字段最好是【字符】而非【enum】想到
  6. ehcache历史变迁及常用API的使用(转)
  7. 有关windows在调试ODOO8.0有些问题
  8. UnitOfWork应用
  9. matlab入门 蜂窝阵列
  10. crmsql句子的实体关系实体字段的信息窗口