pyqt5 python版本_PyQt5下载-Qt库的Python版本 v5.8.2免费版 - 安下载

PyQt5是Qt

C++跨平台应用程序框架和跨平台解释语言Python的结合,也可以将它理解为Python绑定的Qt跨平台UI和应用程序工具包;它们实现了高级API,可以访问现代桌面和移动系统的许多方面,这些包括定位和定位服务,多媒体,NFC和蓝牙连接,基于Chromium的Web浏览器,以及传统的UI开发;PyQt5是Qtv5的一套全面的Python绑定,它实现为超过35个扩展模块,并使Python能够在所有支持的平台(包括iOS和Android)上用作C++的替代应用程序开发语言;PyQt5也可以嵌入到基于C

++的应用程序中,以允许这些应用程序的用户配置或增强这些应用程序的功能。强大又实用,需要的用户可以下载体验

软件功能

QtCore:包含了核心的非GUI功能。此模块用于处理时间、文件和目录、各种数据类型、流、URL、MIME类型、线程或进程。

QtGui包含类窗口系统集成、事件处理、二维图形、基本成像、字体和文本。

qtwidgets模块包含创造经典桌面风格的用户界面提供了一套UI元素的类。

QtMultimedia包含的类来处理多媒体内容和API来访问相机和收音机的功能。

Qtbluetooth模块包含类的扫描设备和连接并与他们互动。描述模块包含了网络编程的类。

这些类便于TCP和IP和UDP客户端和服务器的编码,使网络编程更容易和更便携。

Qtpositioning包含类的利用各种可能的来源,确定位置,包括卫星、Wi-Fi、或一个文本文件。

Enginio模块实现了客户端库访问Qt云服务托管的应用程序运行时。

软件特色

Qtwebsockets模块包含实现WebSocket协议类。

QtWebKit包含一个基于Webkit2图书馆Web浏览器实现类。

Qtwebkitwidgets包含的类的基础webkit1一用于qtwidgets应用Web浏览器的实现。

QtXml包含与XML文件的类。这个模块为SAX和DOM API提供了实现。

QtSvg模块提供了显示SVG文件内容的类。可伸缩矢量图形(SVG)是一种描述二维图形和图形应用的语言。

QtSql模块提供操作数据库的类。

QtTest包含的功能,使pyqt5应用程序的单元测试

安装步骤

1、安装PyQt5之前需要先安装python,可以从官网下载最新版本https://www.python.org/downloads/。安装python十分简单小编就不再累述了,安装的时候只需要注意有一个pip选项记得勾选就行了,如下图所示。(pip能够下载以及安装其他Python包)

2、安装完python之后我们可以在开始菜单或者桌面上看到python ide快捷方式,双击打开可以看到版本等信息,小编这里python

版本信息为3.6.1。接下来您可以从PyQt5官网或者本站下载PyQt5。

3、从本站下载解压之后发现解压后的文件是"PyQt5-5.8.2-5.8.0-cp35.cp36.cp37-none-win_amd64.whl",这是一个whl文件,这时候就需要我们之前勾选的pip这个工具了。打开安装python时的安装目录,将该路径复制。

4、将该路径添加到你的系统或者用户,PATH变量值中去。

5、之后打开cmd,输入pip install wheel,将出现下图所示界面,表示安装wheel成功。(.whl就是需要wheel工具安装)

6、.安装完wheel之后,进入PyQt5文件所在路径中,输入pip install

PyQt5-5.8.2-5.8.0-cp35.cp36.cp37-none-win_amd64.whl。(小编PyQt5文件位于D:谷歌下载,文件名称为“PyQt5-5.8.2-5.8.0-cp35.cp36.cp37-none-win_amd64.whl”)

7、之后在任意目录中新建一个.py文件,在该文件中输入以下代码

import sys

from PyQt5 import QtWidgets, QtCore

app = QtWidgets.QApplication(sys.argv)

widget = QtWidgets.QWidget()

widget.resize(360, 360)

widget.setWindowTitle("Hello, PyQt5!")

widget.show()

sys.exit(app.exec_())

然后保存,将它拖动到python ide上,如下图所示。

8、如果出现下图所示界面,则表示PyQt5安装成功了。

使用说明

1. python GUI框架简介,pyqt介绍,为什么使用pyqt

python开发GUI程序,了解一个框架需要了解:

(1)运行效果

(2)能够运行在哪些平台

(3)学习成本,因为每一个GUI框架都有自己的特点

(4)开发效率的比较,python的运行效率比c c++低,但是开发效率是比较快的

python GUI框架:

(1)Tkinter:

python内置的GUI框架,使用TCL实现,python中内嵌了TCL解释器,使用它的时候不用安装额外的扩展包,直接import,跨平台。不足之处在于UI布局全靠代码实现,只有15种常用部件,显示效果简陋。

(2)Wxpython:用得比较广泛,跨平台,C++编写,需要安装扩展模块;文档少,遇到问题不好解决,代码布局控件,不直观。

(3)Pygtk:

python对GTK+GUI库的封装,在linux平台上运行的比较好,需要安装扩展模块,在windows下的兼容性有一些问题。

(4)pyqt:QT原本是诺基亚的产品,源码用C++写的,python对QT的包装,跨平台,本地显示效果,根据系统决定,在win7下就是win7的显示效果;pyqt与qt的函数接口一致,qt开发问的那个丰富,所以pyqt开发文档也比较丰富;控件丰富,函数/方法多,拖曳布局;方便打包成二进制文件;GPL协议,商业程序需要购买商业版授权

(5)pyside:诺基亚的亲儿子,python对QT的封装,安装扩展模块,跨平台,与pyqt的API一样,LGPL协议,新软件可以是私有的,代码布局

(6)Kivy:

针对多点触控程序,智能手机平板等,也可以在没有触屏功能的系统上,全平台支持;使用python和cython(python和c语言的接口)编写;中文支持差,需要自己下载中文库并且制定路径。

为什么使用pyqt:

因为API与qt一致,学会了pyqt再使用qt很简单

文档丰富

学习成本低

开发迅速,qt designer拖曳布局,如果使用代码布局还需要构建全局并且调试

学习经验容易迁移到pyside来开发商业应用

方便打包发布软件,python本身解释语言的特点是写好的程序不编译和链接,使用文本运行解释器,边解释边执行,用户不可能装一个解释器再发源码再执行,所以打包成exe再发布

掌握python语法:

(1)pyqt常用控件使用(标签,按钮,radio button,文本框,旋钮,滑块,图片显示)

(2)python一些常用扩展包的使用,结合pyqt完成实用小软件(从大量excel中查找关键词,语音识别程序开发)

(3)使用python和百度云语音完成语音识别程序,并通过语音控制台灯开关(需要硬件支持)

(4)pyqt程序在windows平台下的打包,linux下可以直接运行打包

2. 使用python开发pyqt程序的环境搭建

python版本选择:python3

永远选择easy模式,不在搭建环境中浪费时间,传统开发模式在网上下载python各种安装包,再一个个安装,python原生的IDE不是很好用。

Anaconda介绍与安装

Eric6安装,需要安装一个集成环境,可以作为python的IDE,在官网上下载的安装包是一个文件目录,使用python命令运行install.py文件完成安装,安装后安装目录到anaconda下scripts文件中,其实也就相当于一个包,双击eric6.bat文件运行

安装pycharm,(老师使用的eclipse+pydev插件,并且还要配置解释器位置)

还需要配置环境

3. 第一个eric GUI程序的创建以及运行方法

eric开发流程:

新建工程

新建ui文件,后缀名为.ui

编辑ui文件

编译ui文件为py文件,编译为py文件才能运行,直接在eric中文件右键点击compile from,成功会提示编译成功。

运行py文件

新建好项目之后,会自动生成一个init.py文件,这个文件的存在意义就是告诉python解释器,接下来都是python脚本。

点击forms,在空白区域右键新建一个窗体,默认是dialog类型,我们选择main window主窗体,然后保存为.ui文件。步骤如下图:

run script后弹窗不需要设置选项内容,直接ok,那么第一个eric GUI程序就运行成功了。

报错1: 找不到designer,新建文件过程中报错了,如图,原因为:

解决办法:

在cmd中执行pip install

PyQt5-tools,安装designer工具,会在anaconda3\Lib\site-packages目录下,多出pyqt5-tools这个文件夹

在eric6中settings-preferences中-QT中指明designer.exe所在的bin目录,问题就解决了,如图:

解决好问题之后,可以顺利创建.ui文件,并且创建好文件之后自动弹出Qt designer工作界面。

1. 了解QT的信号与槽机制

2. 了解通过代码链接信号与槽的方法

3. 掌握使用eric生成槽函数的方法

4. 理解pyqt自动连接信号与槽的机制

5. 编写槽函数

QT对时间响应提供了两种机制:和大多数GUI一样相对底层的(按钮的鼠标点击或者触摸屏的点击,键盘选中敲回车点击,这三种事件底层不一样,有不同的实现)和高级的信号与槽的机制(底层响应没有太多的意义)

信号与槽

屏蔽底层细节,不管你是鼠标点击还是触屏点击或者键盘各种动作来源,只要被点击,就有一种槽函数去处理,对减少代码量很重要。

所有控件都支持信号与槽机制,预定义信号和槽。控件触发后,QT默认的机制就是发出信号,就不管了,信号需要连接到槽才能获得处理。预定义的信号和槽(即内置的一些动作和响应事件)可以连接到一起,零代码实现一定功能,但是功能有限,需要自己使用代码去扩展。

不同控件发射出的信号类型可能不同,比如按钮只有点击信号发出来不带有参数,但是输入框可能发出的信号可能会带有一段字符串。

pyqt比C++版的QT更加强大,C++版的qt的槽函数必须固定格式声明,定义以及实现,pyqt槽函数的特点是可以是任何能够调用的东西,也没有特殊格式要求。

通过代码连接信号与槽

1. 手动连接信号与槽的方法有以下几种:

这些方法是在生成的GUI主类里面的初始化函数中去实现,或者是自定义一个函数去实现这个信号与槽的连接。

Eric生成槽函数

类似python的核心价值观,方便,eric可以自动生成,就不要手动编写。以一个push

button来做测试,首先需要记住这button的编号,实现步骤如下:

步骤1:在form栏中,在ui文件上鼠标右键选择,generate dialog

code,出现一个弹框,需要设置classname,点击new新增一个会出来一个弹框,默认里面内容。

PyQt4和PyQt5的区别

pyqt5不向后兼容pyqt4。pyqt5有几个显著的变化。将旧代码调整到新库并不困难。有几个大的改变如下:

Python模块已经重组。一些模块已经删除(qtscript),有的被分割成子模块(QtGui,QtWebKit)。

新的模块作了详细的介绍,包括qtbluetooth,qtpositioning,或enginio。

pyqt5只支持新型的信号和槽handlig。电话signal()或slot()不再支持。

pyqt5不支持Qt的API被标记为过时或陈旧的任何部分在QT V5.0。

你可能感兴趣的:(pyqt5,python版本)