从Qt到python:科学计算软件的界面开发

发布时间:2010-11-20 21:36:59, 关注:+25216, 赞美:+308, 不爽:+6

本文标签: qt 科学计算 kde pyqt

科学计算软件大多在于核心算法设计,而界面设计这部分应该选择成熟强大的框架平台,应做到:

高效迅速,平台独立性,文档开发环境成熟和版权声明可取等。

python中的Matplotlib和PyQT组合基本可以满足以上要求。

一、关于Qt软件库

QT原创是Trolltech公司,后来被Nokia收购,从2008年9月29日开始,Nokia将Trolltech重命名为Qt Software,Qtopia被重命名为Qt Extended。QT被Nokia收购可能会朝移动手机方面发展。KDE就是一个基于Qt的强大的软件框架。

二、Python中使用QT

因为Qt是C++ API库,将其binding起来就可以使用在python中,如比较流行的库是PyQt,注意PyQT是非Nokia开发的,且不是采用LGPL,需购买使用。正因为版权问题Nokia自己开发了一个QT的 python binding,也就是pyside,但不成熟,而前途还是不小的,应该和Qt接合更好。
类似PySide,其他图像界面设计模块还有 PyGTK and wxPython。

三、Ubuntu系统下QT的开发

Qt自带的 Qt Designer用于UI设计(不可代码调式),Qt Creator是 轻量级跨平台的IDE(代码调式)和QT Assistant为文档大全。

a、Ubuntu下安装QT+python库

可以在synaptic package manager查看Qt哪些模块安装了,在其中可随时添加删除,非常方便。
一些安装库说明:http://www.qqread.com/linux/2009/03/h456258.html

b、几个IDE的比较

Qt Creator: Cross-Platform IDE
下载演示

对于symbian平台可以Nokia官方的Carbide.C++(类似Eclipse的IDE)
演示

在KDE环境中,也可以用Qdevelop编写代码和编译、调试,Qt Designer设计界面,开发效率较。

eric-ide是一个用来开发python和ruby的IDE,本身就是利用qt设计的,可以用来开发python+qt,见
http://eric-ide.python-projects.org/

Qt Eclipse Integration for C++(Nokia官方发布)
The Eclipse plugin can be used to create programs using any Qt version since 4.1.0.
推荐使用这个Qt eclipse插件,其功能和Carbide一样,而且可以和PyQt+Pydev在同一个环境中使用。

四、QT+Python开发的优缺点

QT是基于C++平台独立,可以运行在Windows,Linux,嵌入式和手机平台上,
做界面可选择QT,几乎不用改代码就可以移植到塞班上。
QT和VC都是C++开发,模式框架很相似,内库都很丰富,QT是基于LGPL版权,可以做商业软件。

PyQT比起wxpython文档更全,模块支持更好,而且可以利用QT Designer设计界面。

Python的强大作图软件Matplotlib同样提供backend支持也可以以插件形式调用。PyQT+Matplotlib组合基本可以解决科学计算中的图像界面设计了。

Pyqt自带sip类似swig,一个关于QT+sip-python简单的例子

PyQt版权有些限制,商业版需要购买其license。

五、QT参考书籍

1、C++ GUI Programming with Qt 4 (2nd Edition) (Prentice Hall Open Source Software Development Series) [Hardcover] Jasmin Blanchette (Author), Mark Summerfield (Author)
初级,官方指南,没有接触过QT,那这本书是你快速入门的不二选择,涵盖了QT编程的绝大部分内容,作者本身就是Trolltech公司的员工,有中文版翻译的不太好。建议入门后阅读,QT本身提供的文档!

2、Advanced Qt Programming: Creating Great Software with C++ and Qt 4 (Prentice Hall Open Source Software Development Series) [Hardcover] Mark Summerfield (Author)
最新,一些应用领域的高级开发。

3、Rapid GUI Programming with Python and Qt (Prentice Hall Open Source Software Development)
 [Hardcover] Mark Summerfield (Author)
和python相关,主要讲到PyQt,是当前最好的QT+Python书籍。
在线补充
http://www.commandprompt.com/community/pyqt/

六、参考链接

中文Qt开发论坛
http://bbs.qtdevelop.org/

KDE中国是最权威的中文KDE资讯发布平台和KDE知识库
http://www.kdecn.org/

---

原文:http://www.sciencetimes.com.cn/blog/user_content.aspx?id=385796

如果你觉得本站对你有帮助,欢迎向本站赞助 :P

使用支付宝捐赠

Copyright© Python4cn(news, jobs) simple-is-better.com, 技术驱动:powered by web.py 空间主机:Webfaction

版权申明:文章转载已注明出处,如有疑问请来信咨询。本站为 python 语言推广公益网站,与 python 官方没有任何关系。

联系/投搞/留言: en.simple.is.better@gmail.com 向本站捐赠