这里记录一些心得,这文章也是学pyqt的笔记吧。之前被pyqt4和5版本坑的要死,在这里时间磨了太多,版本不对啥的,选择qt4和qt5等,然后再找教程又花了很多时间,心累几乎放弃了。然后坚持的翻教程,最终终于可以配置了
一、QT4和QT5的选择
PyQt 是用来创建 GUI 应用程序的工具包。它是 Python 编程语言与已获得成功的 Qt 库
的混合体。其中 Qt 库是这个星球上最强大的 GUI 库之一。PyQt 的官方网站是
http://www.riverbankcomputing.com/software/pyqt/intro 它由 Phil Thompson 创建。
PyQt 的实现被视作 Python 的一个模块。它由 300 多个类和接近 6000 个函数与方法构
成。作为一个跨平台的工具包,PyQt 可以在所有主流的操作系统上运行(Unix、Windows、
Mac)。PyQt 有两种许可,开发者可以在 GPL 和商业许可证之间做出选择。之前,PyQt 的
GPL 许可证只在 Unix 系统上可用,但在 PyQt4 之后,其 GPL 许可证适用于所有支持它的
系统。
因为 PyQt 有大量的类,为便于管理,它们被划分到如下的几个模块中。
PyQt5不兼容PyQt4(尽管经验表明,将PyQt4的应用程序移植到PyQt5难度不是很大)。本节描述了两者之间的主要差异。
支持Python的版本
不支持较早的Python2.6之前的版本┊。
推荐使用特性
PyQt5不支持任何被标记为过时的或废弃的QT V5.0 的API。然而,还是可能有一些“漏网之鱼”。如果将来发现了,这些错误将被删除。
多个API
PyQt4支持许多不同的API版本(QString,QVariant等)。QVariant
PyQt5只支持V2版本的API。一个例外:对于QVariant ,去除了QPyNullVariant。
老式的信号和槽
PyQt4的旧式的信号和槽不再被支持。因此以下用法在PyQt5中已经不能使用:
- QObject.connect()
- QObject.emit()
- SIGNAL()
- SLOT()
所有那些含有参数,并且对返回结果调用SIGNAL()或SLOT()的方法不再被支持。绑定信号与调用函数总是等效的。
此外,另一个差异是增加了下面的函数:
- disconnect() 断开所有对 QObject实例的连接,不需要参数。
版本选择
python版本选择的是:2.x
QT下载地址: PyQt4-4.11.3-gpl-Py2.7-Qt4.8.6-x64.exe
===========================================================
安装环境再:Python27\Lib\site-packages\PyQt4目录下。
然后再 终端输入: import PyQt4来测试模块是否载入,注意大小写,之前被坑了一次
没问题就成功了
============================
环境搭建好了就可以使用QT4了,就可以用 designer设计器 来便捷地创建UI界面了,windows下在 Python27\Lib\site-packages\PyQt4 目录下,mac下在qt的安装目录 Qt5.3.0/5.3/clang_64/bin 下
designer生成的UI文件的的后缀是 .ui ,命令: pyuic4 -x xxxx.ui -o ttttt.py 即可把.ui文件转成py文件了。(可以先cd到.ui文件所在的目录,也可以直接输入.ui 文件的绝对路径)
注意: windows下可以打开 cmd.exe 直接输入pyuic4命令,mac下要设置一下pyuic4环境变量,否则就只能带上路径了
随后就可以开始QT之旅了。