PyQt5 第一章 PyQt5简介和安装

第一章 PyQt5简介和安装

《零基础入门玩转 PyQt5》 邀请码: LWskm3AS

1.1 PyQt5 简介

PyQt5Digia的一套Qt5应用框架与python的结合,同时支持2.x和3.x。Qt库由Riverbank Computing开发,是最强大的GUI库之一

官方网站

PyQt5是由一系列Python模块组成,超过620个类,6000函数和方法。能在Unix、Windows和Mac OS等主流操作系统上运行。PyQt5有两种证书,GPL和商业证书

PyQt5类分为很多模块,主要模块有:

模块 功能
QtCore 包含了核心的非GUI的功能,主要和时间、文件与文件夹、各种数据、流、URL、mime类文件、进程与线程一起使用
QtGui 包含了窗口系统、事件处理、2D图像、基本绘画、字体和文字类
QtWidgets 类包含了一系列创建桌面应用的UI元素
QtMultimedia 包含了处理多媒体的内容和调用摄像头API的类
QtBluetooth 模块包含了查找和连接蓝牙的类
QtNetwork 包含了(TCP/IP/UDP)网络编程的类
QtPositioning 包含了定位的类,可以使用卫星、WiFi甚至文本
Engine 包含了通过客户端进入和管理Qt Cloud的类
QtWebSockets 包含了WebSocket协议的类
QtWebKit 包含了一个基WebKit2的web浏览器
QtWebKitWidgets 包含了基于QtWidgets的WebKit1的类
QtXml 包含了处理xml的类,提供了SAX和DOM API的工具
QtSvg 提供了显示SVG内容的类
QtSql 提供了处理数据库的工具
QtTest 提供了测试PyQt5应用的工具

1.2 PyQt5的安装

pip install pyqt5

1.3 ui文件转换为py文件

1.3.1 Qt Designer的安装

打开cmd窗口,安装pyqt5-tools

pip install pyqt5-tools

1.3.2 文件转换

然后在D:\Python Env\spiders\Lib\site-packages\qt5_applications\Qt\bin目录下找到designer.exe文件

打开designer.exe,写一个简单的Hello pyqt5窗口程序

点击Widget,并点击创建按钮

PyQt5 第一章 PyQt5简介和安装_第1张图片
PyQt5 第一章 PyQt5简介和安装_第2张图片

拖入一个label控件,并修改文本为“Hello pyqt5”
PyQt5 第一章 PyQt5简介和安装_第3张图片

在D盘新建一个test文件夹,用来存放源文件。然后按下Ctrl+S,修改ui文件名并保存

PyQt5 第一章 PyQt5简介和安装_第4张图片

打开shell窗口,输入pyuic5并回车。出现下图这种情况,表示pyqt5-tools安装好了

PyQt5 第一章 PyQt5简介和安装_第5张图片

输入命令:pyuic5 -o py的绝对路径 源ui文件的绝对路径

PyQt5 第一章 PyQt5简介和安装_第6张图片

之后就能看到D盘下生成了一个test.py文件
PyQt5 第一章 PyQt5简介和安装_第7张图片

源文件内容:

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'D:\test\test.ui'
#
# Created by: PyQt5 UI code generator 5.15.2
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.


from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(400, 300)
        self.label = QtWidgets.QLabel(Form)
        self.label.setGeometry(QtCore.QRect(130, 90, 71, 31))
        self.label.setObjectName("label")

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Form"))
        self.label.setText(_translate("Form", "hello word"))

直接运行,你会发现什么都没有发生,因为只是转化成了一个窗口类,还没有实例化

在开头导入模块:

import sys

在末尾添加:

if __name__ == "__main__":

    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    
    ui = Ui_Form()
    ui.setupUi(MainWindow)
    
    MainWindow.show()

    sys.exit(app.exec_())

运行:
PyQt5 第一章 PyQt5简介和安装_第8张图片

目录   下一篇 窗口布局管理(一)

你可能感兴趣的:(PyQt5,PyQt5)