pyqt5 -——介绍及和pycharm的环境搭建

pyqt5简介:

yQt5的类存在与如下模块当中:

● 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不兼容PyQt4

 

环境搭建:

python3.52+pyqt5.60+pyqt5-tools+pycharm(一定要对应版本,重要,重要,重要)

pycharm配置两个额外的tools

第一个参数配置:pyqt5-tools中的designer.exe(改成自己电脑中的相应位置),第二个照抄

第一个参数为python.exe的位置,其余参数照抄即可

配置完成后界面如下:

(UI界面的手动编辑和生成执行程序,网上有介绍,不成功的一定注意版本是否配置正确)

简单的示例程序

示例程序:

import sys

from PyQt5.QtCore import QCoreApplication
from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton

# 图标窗口,退出按钮,信号-槽机制
class Ico(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.setGeometry(300,300,300,220)
        self.setWindowTitle("好好学习")
        self.setWindowIcon(QIcon("../image/1.png"))


        qtbn = QPushButton("退出",self)
        qtbn.clicked.connect(QCoreApplication.instance().quit)
        qtbn.resize(70,30)
        qtbn.move(50,50)

        self.show()
if __name__ == "__main__":
    app = QApplication(sys.argv)

    ex = Ico()
    sys.exit(app.exec_())

PyQt5中的事件处理系统采用信号和槽机制构建。 如果我们点击按钮,点击的信号被发出。 槽可以是Qt槽函数或任何Python可调用的函数。 QCoreApplication包含主事件循环; 它处理和调度所有事件。 instance()方法给我们当前的实例。

请注意,QCoreApplication是通过QApplication创建的。 点击的信号连接到终止应用程序的quit()方法。

通信在两个对象之间完成:发送方和接收方。 发送方是按钮,接收者是应用对象。

简单的来说就是按钮发出被单击的信号,连接到退出程序的方法。

原文地址:https://www.cnblogs.com/icat-510/p/10106755.html