PyQt5 第一章 PyQt5简介和安装

2023-11-17

第一章 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,并点击创建按钮

在这里插入图片描述
在这里插入图片描述

拖入一个label控件,并修改文本为“Hello pyqt5”
在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

之后就能看到D盘下生成了一个test.py文件
在这里插入图片描述

源文件内容:

# -*- 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_())

运行:
在这里插入图片描述

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PyQt5 第一章 PyQt5简介和安装 的相关文章

随机推荐

  • Shell—关于source,bash如何执行

    通过对一个脚本问题的分析 发现了自己的一个知识误区 我想 有必要写篇博客总结一下 关于source source test sh 与 test sh 二者用法相同 是读取脚本test sh中的内容 依次在当前脚本中执行 且不会建立新的子sh
  • 【论文精读IEEE_2023_6】FlowFace++: Explicit Semantic Flow-supervised End-to-End Face Swapping

    论文精读CVPR 2023 6 FlowFace Explicit Semantic Flow supervised End to End Face Swapping 一 前言 Abstract I INTRODUCTION II RELA
  • matlab 三维激光雷达点云的路缘检测与跟踪

    目录 Introduction Download Lidar Data Set Preprocess Data Detect Road Shape Detect Road Curbs Track Curb Points Analyze Dr
  • 记录用ConstraintLayout实现控件view最大高度的过程

    背景 我项目里用到个popupWindow 内容是掉接口获取的list 长度不固定 就想着弄个最大高度 让他在内容过多的时候不会太长怼到屏幕底部 开整 看constraintLayout的文章说用android maxHeight 250d
  • how to activate XMind8 to pro version.

    From activate Xmind 8 in step 3 run setup sh in sudo command and use the following command to run XMind XMind Activate X
  • 立创开源

    一 项目说明 我们在使用单片机设计项目时经常需要用到ADC功能 但是众所周知 单片机是很脆弱的东西 一旦采样 分压后 的电压超过3 3v就会瞬间罢工 在烧毁4 5个单价不菲的单片机后我认为使用外部ADC很有必要 由此本项目诞生 二 原理图
  • 【解决】nltk.download()报错:errno54: connection reset by peer

    报错详情 import nltk gt gt gt nltk download nltk data Error loading
  • github不再支持账号密码解决方案

    今天在向github上传代码的时候 突然不能上传了 终端报错信息如下 remote Support for password authentication was removed on August 13 2021 Please use a
  • C语言中将变量的数值打印到.txt文件

    1 C语言中只需加入以下代码即可将变量的数值打印到 txt文件中 FILE fp fopen dayin txt a fprintf fp d n 变量名 fclose fp 2 若想每次运行C程序就覆盖掉上一次生成的 txt文件 则需要先
  • 深入PCI与PCIe之一:硬件篇

    PCI总线和设备树是X86硬件体系内很重要的组成部分 几乎所有的外围硬件都以这样或那样的形式连接到PCI设备树上 虽然Intel为了方便各种IP的接入而提出IOSF总线 但是其主体接口 primary interface 还依然是PCIe形
  • 人才盘点的主角是业务部门负责人还是HR?

    你的企业 是否存在以下问题 人才储备不足 关键岗位人员离职后 没有合适的马上接替 人才质量不高 企业战略变革转型期 不知谁可以引领和驱动变革 人才现状不清 新的业务 新的项目要开拓 不知合适的人才在哪里 人才分布不均 成熟业务部门人才扎堆
  • gin框架38--使用中间件

    gin框架38 使用中间件 介绍 案例 说明 介绍 本文主要介绍如何在gin框架中使用中间件 并通过案例加以说明 使用MyBenchLogger中间件来输出特有的日志 用AuthRequire中间件来实现基础认证 案例 package ma
  • Cost function

    cost function的形式 cost function的推导满足以下过程 1 认为error 满足某个分布 写出样本点xi的样本的error 2 认为样本点是相互独立的 推导出其对数似然函数 3 求偏导 是得导函数为0 分离常数部分
  • Java 高精度计算 BigDecimal 和 BigInteger

    BigDecimal 在 Java 中 表示小数值一般使用 float 或者 double 类型 可以用于科学计算或者工程计算等 数学意义上的小数是连续的 但 float 和 double 只能表示其中的一些离散点 如果我们要表示的数值刚好
  • Webpack 中常用的loader和plugin已经webpack如何配置

    dist文件夹存放打包后的文件 动态获取出口路径 需要有webpack init 生成package js文件 1 1webpack是什么 webpack 是一种前端资源构建工具 一个静态模块打包器 modulebundler 在 webp
  • IEnumerable vs IEnumerator

    对对象的存储对每一种语言都很重要 例如C 中的Iterator C 中的IEnumerator Java中的Iterator等 C 所有的集合类都定义了一个叫iterator的数据成员 可以通过此对象实现对集合的traverse vecto
  • kafka权威指南中文版之三

    第三章kafka producer 向kafka写入消息 无论你将kafka作为一个消息队列 或者消息总线 还是一个数据存储平台 你都要通过生产者producer向kafka写入数据 通过消费者consumer读取kafka的数据 例如 一
  • 微信支付流程

    一 微信支付流程 APP用户点击进行支付 会向我们自己的订单服务发送请求 携带订单的相关信息 订单服务接收到请求之后需要保存订单 调用微信统一下单接口生成预支付订单 微信会返回预支付订单标识 订单服务会根据微信返回的标识生成带签名的支付信息
  • SQL 注入-盲注

    目录 一 什么时候用到盲注 二 盲注的优缺点 三 盲注的流程 四 盲注的分类 五 布尔盲注 5 1 原理以及什么时候使用布尔盲注 5 2 例如upload labs靶场中的Less 8 5 3 布尔盲注常用函数及定义 5 4 length
  • PyQt5 第一章 PyQt5简介和安装

    第一章 PyQt5简介和安装 零基础入门玩转 PyQt5 邀请码 LWskm3AS 1 1 PyQt5 简介 PyQt5是Digia的一套Qt5应用框架与python的结合 同时支持2 x和3 x Qt库由Riverbank Computi