日度归档:2011 年 11 月 10 日

PyQT 介绍和一些资源

这几天学习了 PyQt , 照猫画虎的做出了一个图形界面。

Python 是功能很强大的脚本语言,Qt 是跨平台的界面开发语言,二者的结合就是PyQt, 它是 Python 语言的 GUI (图形用户界面)编程解决方案之一,而 QT 是由诺基亚开发的应用软件框架。使用 PyQt 编写程序图形界面可以在不修改代码情况下在很多种平台比如 Windows, Linux 和 MacOs 上运行。

PyQt 官方网站:http://www.riverbankcomputing.co.uk/software/pyqt/intro

安装:

如果你使用的是 Windows, 需要首先安装 Python, 如果你对这篇文章感兴趣的话你肯定已经安装了 Python. 然后到 PyQt 官网上下载一个 Windows 安装包进行安装,注意应根据你安装的 Python 版本号进行选择。 PyQt 的 Windows 安装包已经包含了一份 Qt, 安装的时候注意选择你安装 Python 的目录。

如果你使用的 Ubuntu Linux, 那么已经默认安装了 Python, 运行下面命令就可以自动的安装所依赖的软件包:

sudo apt-get install python-qt4

然后运行命令:

sudo apt-get install python-qt4-doc

安装 PyQt 的文档和示例。

Eric 则是由 Python 开发的一款支持 PyQt 的 IDE, 可以很方便的使用 Qt Designer 设计界面,安装和使用可以看这篇文章:Eric+PyQt打造完美的Python集成开发环境。也许在编写大程序时 IDE 是很有用的,但我更喜欢用一个自己喜欢的文本编辑器手工 Hack.

学习资源:

PyQt Reference Guide

The PyQt4 tutorial

Rapid GUI Programming with Python and Qt

GUI Programming with Python: QT Edition

PyQt – PythonInfo Wiki

不过上面都是英文的,再次证明了学好英文对搞计算机的重要性。中文资料很少,有一个翻译了 The PyQt4 tutorial 的资源:

http://www.czug.org/python/pyqt4/

还有这个:

http://code.google.com/p/pyqt-doc-cn/

http://www.ibm.com/developerworks/cn/linux/l-qt/

在安装好 PyQt 后,程序自带的一些例子也是很好的学习资源。

Windows 中例子位于:python目录Libsite-packagesPyQt4examples

Linux 中例子位于:/usr/share/doc/python-qt4-doc/examples

在编写程序时,查看官方文档很有用,列出了所有模块中对象的可用方法、参数和它继承的对象等

我在使用 QtGui.QFileDialog.getOpenFileName 方法时,遇到如果文件路径中包含汉字时打开文件会出错的问题,估计又是因为该死的字符编码。我没有搜索到解决方法,最后自己试了几次,用如下代码解决了问题。我不知道为什么,但它能正常工作 :-)

fname = str(QtGui.QFileDialog.getOpenFileName(self, u'选择文件',
	'/home', u"ACMi 文件(*.acmi)").toLocal8Bit())
f = open(fname, 'r')