Personal tools
You are here: Home 博客群 蜻蜓点水 举重若轻 Py 让我怎么爱 QT?
Log in


Forgot your password?
Recent Comments
 还好, (Anonymous User) 2008-08-29
 Trolltech 从一开始就是开源的 (cavendish) 2007-09-26
 Boa 铁杆用户? (Anonymous User) 2007-09-24
 创世纪 (Anonymous User) 2007-05-18
 lihao (Anonymous User) 2007-05-14
 
Document Actions

Py 让我怎么爱 QT? Py 让我怎么爱 QT?

Submitted by eishn. on 2006-07-16 00:21. Python开源文化开源系统
周末兴冲冲地跑到网上来, 准备写一篇关于 PyQT 的文章 ……
作为民工一名, 平时爱打拼在工地上, 有空出文章的机会不多。最近也逐渐闲下来了, 所以准备整理一些东西到网上来。以前有使用 PyQT 做项目的经历, 所以准备先放一篇《PyQT 快速生产力手册》出来。这是很久以前的事情了。

当时我们要做一种专家系统的数据处理工具, 首先需要具备复杂的 IDE 资料编辑功能, 能切分资料, 标记和着色资料段落, 并能对标记段落进行快速地增删改。同时能够对资料进行即时打分, 编译、测试等处理。复杂度超过普通的 IDE 编辑工具。

当时, 我们对 Tkinter、wxPython、PyQT、PyGTK 进行了评测以确定项目工具。最后我的判断是 wxPython 最为适合, Tkinter 对于这个项目过于简单, PyGTK 更适合 Gnome, 而 PyQT 的协议让人无法接受。老总对我的评测非常不满意, 他告诉我说 PyQT/QT 要是确实爽, Win32 协议但买无妨。如果 QT 能形成快速生产力, 我们有望逐渐将日常工作软件转移 Linux 下, 将工作平台从 Win32 转移到 Unix 下面去。当然这是一个遥远并且诱人的计划了。

我使用 CygWin/X11 对 PyQT 在 Win32 下的成本作了最后的努力 ……, 最后, 形成了 Python 关于 QT 从商用到免费版的完整安装包系列, 供用户测试、赏玩。尽管我是 wxPython 的粉丝, 但是从 97 年开始我就是一名正版 Linux 程序员, KDevelop/QT 是 C++Builder 之后最熟悉的玩具。所以多年后做 PyQT 的项目自然也是十分顺手。

我为 PyQT 量身定制了一套开发模式, 最后取得了巨大的成功。这个就是所谓 "PyQT 快速生产力" 的核心:

    ·定义 Python Import 钩子, 导入钩子利用管道访问 "pyuic" 程序, 使 Python 程序可以直接导入 QtDesigner 生成的界面文件(具体玩法请参见 Python 手册关于 "imputil.ImportManager" 的部分)。

    ·保持 QtDesigner 生成的界面类的原样, 不动。将 QtDesigner 生成的 UI Class 作为基类, 在派生类中实现软件功能。

这样, 在开发和调试期界面设计和功能设计完全分离, 这在以后维护中产生了更大的好处。用户对界面的不满被直接提交给 QtDesigner, 几乎是经过一些拖放而以, 跟进需求就被快速消化了。而且程序结构清晰利于维护, 这个软件的产品在半年内频繁升级, 不断推出功能调整性的 patch, 而 BUG 很少。这也让我对 PyQT 另眼相看, 成为跨平台界面复杂 Python GUI 应用的首选。而当时 QT4 GPL 也是呼之欲出, QT 有机会与 wxPython 一争江湖。而在此时我投入到了 AJAX 激战中去了, 抱着对 QT4 的期待。

直到 QT4.2 我才重新回到 Python GUI Framework 的世界。这时候, 我想做的第一件事情, 就是把关于 PyQT 的跨平台编译以及项目经验做成文档放出来, 推广一下 PyQT。在开始写文档的时候, 我重新打开熟悉的 Riverbank 站点。看看授权协议有何变化。结果令我这种草根非常失望:

    ·The cost of a commercial PyQt license for a single developer is £350 (UK Pounds Sterling). You may pay in either US Dollars, Euros or UK Pounds Sterling.

    ·PyQt does not include a copy of Qt. You must also purchase copies of the commercial edition of Qt from Trolltech.

不错, PyQT/QT 都是 GPL, 但是我不会为了支持倒霉的 Win32 (和那些愚蠢的用户) 而支付 350 欧元的许可费用。在 Unix 我宁愿选择 wx 和 GTK。我眼前似乎又浮现出以前为了绕过 QT3 Win32 协议而作的 CygWin/X11 移植工作, 这点让我抓狂以至于连脸都抓破了。这样, 关于 PyQT 的文档行动终于无果而终。因为我知道, 对于我们社区而言, 这种努力在许可协议下终将灰飞烟灭。

Py 让我怎么爱 QT?

依我看还是用wxPython吧!

Posted by Anonymous User at 2006-07-16 21:17

Qt的license太不爽了,wxPython那么成熟,我看还是用wxPython吧。OSAF都在用wxPython做Chandler呢,可靠性应该是没问题的。

可惜BOA好久没更新了,不过也算是有一个RAD工具可以用一下。

嗯, 正如所言

Posted by eishn at 2006-07-16 21:51

自从 Win32 下的 C++Build X 以来, wx 似乎就已经正式加冕。wx 和 qt 同为我 (在高端应用中) 最喜欢的两套工具。因为协议的原因 qt 日渐势微, 于心不忍, 愿为之做些工作。无奈 pyqt/qt4 的协议问题依然存在, 这次, 真是我力不能所及了。

我在三年前就是 Boa 的铁杆用户, 当初一见, 惊艳之极。三年以来每每关注却不见发布, 实堪 wxPython 之最大遗憾。

Boa 铁杆用户?

Posted by Anonymous User at 2007-09-23 19:54

Boa以Delphi的易用性吸引人,但却使人误入歧途;wxDesigner界面简陋,入门需花功夫,但一旦上手,做GUI就是一种乐趣!这两种工具我都用过,现在我已经和Boa永远说拜拜了,相信我没错!

PyQt v4 GPL for windows

Posted by Anonymous User at 2006-11-01 13:51

We provide PyQt in source form for UNIX, Linux and MacOS/X. We also provide the GPL version of PyQt v4 as a Windows installer for use with the GPL version of Qt.

http://www.riverbankcomputing.co.uk/pyqt/download.php http://www.riverbankcomputing.com/Downloads/PyQt4/GPL/PyQt-win-gpl-4.0.1.zip

THX for good news

Posted by eishn at 2006-11-01 20:23

http://www.riverbankcomputing.co.uk/pyqt/index.php


Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: