没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论


















PyQt5系列教程(系列教程(1):我与):我与PyQt5有个约会有个约会
承蒙各位学友们的支持,《Python图形界面编程》课程后推出后得到了1万多的学习量。
Python图形界面编程_腾讯课堂 ke.qq.com
上也有1524人报名。
课程推出后通过与广大学友的交流,本着对先前的课程进行进一步改进的想法(如:数据库操作、网络传输等均没有涉及),并结合当下Python3学习人员的日渐增多的情形,决定再推出一个PyQt5的教
程,希望大家一起交流共同进步。当然PyQt4课程的更多实例部分将在PyQt5课程上线后会进行相应的更新,以保证课程的向下兼容。
当然同以往一样,先进行图文教程,再推出视频教程。
PyQt5是一组来自Digia的Qt5应用程序框架的Python绑定。它适用于Python2和Python3。当然我们会用python3进行讲解。在教程中我们使用的Python3.5.2和PyQt5.3。
这里给了一个官方的参看指南:PyQt5指南
PyQt5是基于Digia公司强大的图形程式框架Qt5的python接口,由一组python模块构成。PyQt5本身拥有超过620个类和6000函数及方法。在可以运行于多个平台,包括:Unix, Windows, and Mac OS。
PyQt5的类存在与如下模块当中:
● QtCore
● QtGui
● QtWidgets
● QtMultimedia
● QtBluetooth
● QtNetwork
● QtPositioning
● Enginio
● QtWebSockets
● QtWebKit
● QtWebKitWidgets
● QtXml
● QtSvg
● QtSql
● QtTest
QtCore模块模块涵盖了包的核心的非GUI功能,此模块被用于处理程序中涉及到的 time、文件、目录、数据类型、文本流、链接、mime、线程或进程等对象。
QtGui模块模块 涵盖多种基本图形功能的类; 包括但不限于:窗口集、事件处理、2D图形、基本的图像和界面 和字体文本。
QtWidgets模块模块 包含了一整套UI元素组件,用于建立符合系统风格的classic界面,非常方便,可以在安装时选择是否使用此功能。
QtMultimedia模块模块包含了一套类库,该类库被用于处理多媒体事件,通过调用API接口访问摄像头、语音设备、收发消息(radio functionality)等。
QtBluetooth模块模块包含了处理蓝牙活动的类库,它的功能包括:扫描设备、连接、交互等行为。
QtNetwork模块模块 包含用于网络编程的类库,这组类程序通过提供便捷的TCP/IP 及 UDP 的 c/s 程式码集合,使得基于Qt的网络编程更容易。
QtPositioning模块模块 用于获取位置信息,此模块允许使用多种方式达成定位,包括但不限于:卫星、无线网、文字信息。此应用一般用于网络地图定位系统。
Enginio模块模块用于构建客户端的应用程式库,用于在运行时访问 Qt Cloud 服务器托管的应用程序。
QtWebSockets模块模块包含了一组类程序,用以实现websocket协议。
QtWebKit包含了用于实现基于webkit2的网络浏览器的类库。
QtWebKitWidgets模块模块 包含用于基于WebKit1的Web浏览器实现的类,用于基于QtWidgets的应用程序
QtXml模块模块包含了用于处理XML的类库,此模块为SAX和DOM API 的实现提供了方法。
QtSvg模块模块 通过一组类,为显示矢量图形文件的内容提供了方法。

QtSql模块模块 提供了数据库对象的接口以供使用
QtTest模块模块 包含了可以通过单元测试,以调试PyQt5应用程式的功能。
有同学可能会问,PyQt4与PyQt5有什么不同,PyQt5是否会向下兼容?
恭喜你,你能够想到这些,说明你的学习态度已经端正了,知道会独立的进行思考了。
PyQt5并不向下兼容PyQt4,主要是由于其有几个较大的改变。虽不兼容,但是旧代码调整到新库并不是很难。它们的主要差异如下:
1. Python的模块已经重新构建,一些模块已经被放弃,如:QtScript。其他的模块被分割到一些子模块当中,如:QtGui,QtWebkit。
2. 一些新的模块会推出,如:QtBluetooth,QtPositioning或Enginio。
3. PyQt5仅支持新型信号和插槽。对SIGNAL()或SLOT()的调用不再支持(这点很重要哦!这点很重要哦!)。
4. PyQt5不支持在Qt v5.0中标记为已弃用或过时的Qt API的任何部分。
------------------------------------------------华丽分割线-----------------------------------------------------
这里把信号与槽调用不同简单的演示一下,给大家直观的认识一下,具体的介绍我们后面再谈:
PyQt4的编码如下:
#coding:utf-8
import sys
from PyQt4.QtCore import (Qt, SIGNAL, SLOT)
from PyQt4.QtGui import (QWidget, QLCDNumber, QSlider, QVBoxLayout, QApplication)
class SigSlot(QWidget):
def __init__(self,parent=None):
QWidget.__init__(self)
self.setWindowTitle('XXOO')
lcd = QLCDNumber(self)
slider = QSlider(Qt.Horizontal,self)
vbox = QVBoxLayout()
vbox.addWidget(lcd)
vbox.addWidget(slider)
self.setLayout(vbox)
self.connect(slider,SIGNAL('valueChanged(int)'),lcd,SLOT('display(int)'))
self.resize(350,250)
app = QApplication(sys.argv)
qb = SigSlot()
qb.show()
sys.exit(app.exec_())
PyQt5的编码如下:
#coding:utf-8
import sys
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import (QWidget, QLCDNumber, QSlider, QVBoxLayout, QApplication)
class SigSlot(QWidget):
def __init__(self,parent=None):
QWidget.__init__(self)
self.setWindowTitle('XXOO')
lcd = QLCDNumber(self)
slider = QSlider(Qt.Horizontal,self)
vbox = QVBoxLayout()
vbox.addWidget(lcd)
vbox.addWidget(slider)
self.setLayout(vbox)
slider.valueChanged.connect(lcd.display)
self.resize(350,250)
app = QApplication(sys.argv)
qb = SigSlot()
qb.show()
sys.exit(app.exec_())
执行结果如下:
大家可以自行体会一下PyQt4与PyQt5的不同。
ok,今天就说到这里,下期我们再约!
这个是我的微信公众号:学点编程吧学点编程吧 ,有兴趣就关注下吧!
在实操中遇到问题?欢迎来讨论。
学点编程吧-百度贴吧--计算机程序学习的园地!--学点编程吧,让我们的生活更简单,更高效!能用计算机解决的事情,尽量不要让人解决。如果你在学习当中有任何疑问、学习心得、职业发展等内容

欢迎在贴吧中分享,让我 tieba.baidu.com
PyQt5系列教程(系列教程(2):拖拖拽拽写程序):拖拖拽拽写程序
很多同学都知道PyQt5图形界面编程中有Qt设计师这个东西,那么这玩意怎么用呢?下文会谈到。
首先我们来介绍一下PyQt5开发环境的搭建!
在教程中我们使用的Python3.5.2和PyQt5.6的开发环境。具体怎么搭建呢,主要分以下几个步骤:
1. 对于Python来说我们下载的是它的集成开发环境anaconda3-4.2.0,这个是针对Python3.5的。
为什么选择这个集成开发环境?原因如下:
该集成开发环境使用广泛
包含了众多流行的科学、数学、工程、数据分析的 Python 包
完全开源和免费
全平台支持:Linux、Windows、Mac
支持 Python 2.x 和 3.x
2. 安装PyQt5-5.6-gpl-Py3.5-Qt5.6.0-x32-2.exe
这个也是我们选择Python3.5版本的原因。因为这个是PyQt针对windows用户提供了一个exe的安装包。这个安装包是针对Python3.5版本的。通过这个安装包能够实现我们的快速安装,方便使用。而anaconda
官网上提供的是最新的Python3.6的开发环境。
3. 我们再安装eric6这个程序编辑器,通过这个程序编辑器实现快速图形界面的开发。当然你有更顺手的也一样。
-------------------------------------------------------华丽的分割线华丽的分割线---------------------------------------------------------
下面我们图解一下相关的步骤:
1. 先去微信公众号微信公众号-课程中软件下载课程中软件下载上去下载本次教程中相应的开发工具,当然你也可以去官方网站上去下载,具体网址见最后。
2. anaconda安装比较简单,除了安装路径改成在c盘外,其它均采用默认设置,一路next下去就行了。

3. 接下来我们安装PyQt5-5.6-gpl-Py3.5-Qt5.6.0-x32-2.exe,同anaconda一样,一路next下去就行了。
4. 这个时候我们可以使用"import PyQt5"验证一下是否安装成功了。
5. 最后我们再来安装eric6-17.06,这个的安装较前面的有点复杂,我们一步一步来。我们将下载下来的文件进行解压,发现文件中有一个名为"install.py"的文件,这个就是我们需要的安装文件。
5.1. 现在我们在当前目录下,打开命令行,输入:python install.py,进行安装。实际的安装时间比动画里面的时间长一点。出现"Press enter to continue..."时候表明已经安装完毕。
5.2 那么可自行文件在哪里呢?因为我们anaconda3是安装在c盘,所以我们在C:\Anaconda3\Scripts目录下,找到一个名为"eric6"的批处理文件,这个就是启动eric6的启动钥匙了。我们将其复制到桌面以备后
用。
5.3 双击"eric6"这个批处理文件(会出现一闪的情况,耐心等待一下),如果出现如下的画面,基本表示已经成功了。

5.4 剩下的就是要对其进行一些基本配置,以便使用。先配置一下api,如下图:
语言我们选择:Python3。然后添加API进行编译。如下图:
添加api进行编译,编译的时间相对较长,请耐心等待。
最后我们把eric6的补全功能加上。如下图:
剩余348页未读,继续阅读
资源评论


二爷记
- 粉丝: 404
- 资源: 22
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


会员权益专享
最新资源
- test 数据集合for motion prediction tnt
- 数据集合train,for motion predition tnt
- txt练习文档,可用来C++读取中文txt文件,并对文件指定内容进行检测和修改
- 信息系统安全与对抗MOOC资料
- 3_面试.md
- Opera-96.0.4693.80安装包
- 电力电子技术中单相桥式双极性调制PWM型逆变电路的Simulink仿真模型
- 电力电子技术中单相桥式单极性调制PWM型逆变电路的Simulink仿真模型
- 电力电子技术中电压型单相全桥逆变电路SPWM控制的Simulink仿真模型
- 电力电子技术中的Simulink仿真模型 电压型单相全桥逆变电路移相控制
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
