PyQt6--Python桌面开发(1.安装配置环境)

一.PyQt6简介

PyQt:PyQt是一个功能强大且成熟的GUI框架,基于Qt库。它提供了丰富的组件、布局和主题选项,以及强大的功能和灵活性。PyQt的优点是它具有现代化的外观和丰富的功能,适用于复杂的GUI应用程序。然而,由于PyQt的许可证问题,您需要确保在使用之前了解和遵守相关的许可条款。

PySide6:PySide6是Qt的另一个Python绑定,与PyQt类似,但使用了更宽松的许可证(LGPL)。它提供了与PyQt相似的功能和API,因此如果您熟悉PyQt,可以很容易地切换到PySide6。与PyQt相比,PySide6的社区支持可能相对较少,但它仍然是一个可行的选择。

PyQt6和PySide6它们是由不同的组织开发和维护的。PyQt6是由Riverbank Computing开发和支持的,提供了与Qt C++版本相似的功能和API,并且与Qt官方的兼容性很高。PySide6是由Qt公司(The Qt Company)开发和支持的,是Qt官方推荐的Python绑定库,与Qt框架紧密集成,具有与Qt C++版本的高度兼容性

二.PyQt6对比PyQt5

2.1PyQt 6 的优势

2.1.1全新的 Qt 框架

PyQt 6 是基于 Qt 6 框架开发的,而 Qt 6 在原有基础上进行了大量改进,提供了更高的性能、更好的可扩展性和更丰富的功能。
这使得 PyQt 6 在性能和功能上都有所提升

2.1.2更简洁的 API

PyQt 6 对 API 进行了优化,使得开发者能够更轻松地编写代码。

例如,在 PyQt 5 中,创建一个 QPushButton 需要调用多个构造函数。

而在 PyQt 6 中,只需一行代码即可完成创建

2.1.3更好的模块化

PyQt 6 将模块进行了重新组织,使得查找和使用特定的功能更加容易。

例如,在 PyQt 5 中,Qt 网络相关的功能分布在不同的模块中。

而在 PyQt 6 中,所有网络相关的功能都集中在PyQt6.QtNetwork模块中

2.1.4 更丰富的组件库

PyQt 6 提供了更多的组件,使得开发者能够更轻松地创建具有丰富功能的应用程序。

例如,新增的QML模块提供了一种基于 JavaScript 的声明式 UI 描述语言,可以用来创建高性能、轻量级的 UI。

2.1.5 更好的跨平台支持

PyQt 6 在各个平台上的表现都得到了优化,包括 Windows、macOS、Linux、Android 和 iOS。

这意味着开发者可以更容易地创建跨平台应用程序。

2.1.6 向后兼容

PyQt 6 在保持向后兼容的同时,提供了许多新特性和改进
这意味着开发者可以轻松地将现有的 PyQt 5 项目迁移到 PyQt 6

三.PyQt6库和工具库QTDesigner安装

安装pyqt6和pyqt6-tools
pyqt6-tools库是QTDesigner设计器工具支持库

pip install PyQt6 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install pyqt6-tools -i https://pypi.tuna.tsinghua.edu.cn/simple

四.pycharm配置外部工具

4.1配置QTDesigner

在这里插入图片描述点击’+',创建工具
Name写QTDesigner
在这里插入图片描述
找到对应的designer.exe路径

4.2配置PYUIC

PYUIC是用于将designer生成的ui文件转换成py文件
再点击’+',创建工具
在这里插入图片描述

-m PyQt6.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
$FileDir$

4.3验证安装是否成功

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/7671.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

openEuler 22.03 GPT分区表模式下磁盘分区管理

目录 GPT分区表模式下磁盘分区管理parted交互式创建分区步骤 1 执行如下步骤对/dev/sdc磁盘分区 非交互式创建分区步骤 1 输入如下命令直接创建分区。 删除分区步骤 1 执行如下命令删除/dev/sdc1分区。 GPT分区表模式下磁盘分区管理 parted交互式创建分区 步骤 1 执行如下步骤…

明火检测实时识别报警:视觉算法助力安全生产管理

背景与现状 在各种工作、生产环境下,明火的存在往往是潜在的安全隐患。无论是加油站、化工园区、仓储场所还是校园,明火一旦失控就会引发火灾,造成严重的人员伤亡和财产损失。传统的明火检查手段主要依赖于人工巡查和定期的消防检查&#xf…

什么是高级持续威胁(APT)

高级持续性威胁(Advanced Persistent Threat,APT),又叫高级长期威胁,是一种复杂的、持续的网络攻击,包含三个要素:高级、长期、威胁。 【高级】是指执行APT攻击需要比传统攻击更高的定制程度和…

预处理器标识#error的目的是什么?

在C和C编程语言中,预处理器标识#error是一个指令,它的目的是在编译过程中生成一个错误信息。当预处理器遇到#error指令时,它会停止编译过程,并显示#error后面的消息作为错误信息。这个指令通常用于确保某些条件在编译时得到满足&a…

人体姿态估计学习

人体姿态估计 1.绪论 人体姿态估计是计算机视觉中一个很基础的问题。从名字的角度来看,可以理解为对“人体”的姿态(关键点,比如头,左手,右脚等)的位置估计。 一般我们可以这个问题再具体细分成4个任务&…

小米手机短信删除了怎么恢复?这里教你快速解决!

手机已经成为我们生活中不可或缺的一部分,比如小米手机。我们通过手机进行通讯、娱乐、学习等各种活动,其中,短信是我们日常生活中的重要信息来源之一。然而,我们可能会不小心删除了一些重要的短信,这时候我们就会想知…

领航法律科技,法大大多年深耕再获认可!

近日,“乘势破局 第八届新兴法律服务业高峰论坛”在上海隆重举行。作为国内领先的电子签厂商,法大大凭借在法律科技领域的多年深耕与沉淀,荣获“法律科技领航机构”称号。 据悉,新兴法律服务业高峰论坛作为国内首个聚焦“新兴法律…

高等数学笔记(下中)

曲线积分 第一类曲线积分:对弧长的积分计算方法 定理:设 f ( x , y ) f(x,y) f(x,y)在曲线弧 L L L上有定义且连续, L L L的参数方程是 { x φ ( t ) y ψ ( t ) ( α ≤ t ≤ β ) \begin{cases} x\varphi(t)\\ y\psi(t) \end{cases}(\a…

一文了解什么是SSL证书?——值得收藏

SSL证书,全称Secure Sockets Layer证书,是一种网络安全协议的实现方式,现在通常指的是其继任者TLS(Transport Layer Security)证书,不过习惯上仍称为SSL证书。它的主要作用是确保互联网上的数据传输安全&am…

WebStorm2024版 将项目上传到gitee

目录 一、准备 WebStorm gitee 二、上传代码到Gitee 三、过程中遇到的问题 报错:You may want to first integrate the remote changes (e.g., git pull ...) before pushing again. 报错:fatal: refusing to merge unrelated histories 报错&a…

机器人系统ros2-开发实践05-ROS2 中 tf2的定义及示例说明

1. what ros2 tf2 ? tf2的全称是transform2,在ROS(Robot Operating System)中,它是专门用于处理和变换不同坐标系间位置和方向的库。这个名字来源于“transform”这个词,表示坐标变换,而“2”则…

如何判断代理IP质量?

由于各种原因(从匿名性和安全性到绕过地理限制),代理 IP 的使用变得越来越普遍。然而,并非所有代理 IP 都是一样的,区分高质量和低质量的代理 IP 对于确保流畅、安全的浏览体验至关重要。以下是评估代理 IP 质量时需要…

上升实用的Chrome浏览器命令

Chrome浏览器提供了一系列实用的命令行参数,这些参数可以在启动浏览器时使用,或者在Windows系统上通过命令提示符或PowerShell使用。以下是一些常用的Chrome浏览器命令: 1. **-incognito**:打开一个新的隐身窗口。隐身模式下&…

前端递归常见应用

概览 在 JavaScript 中,递归是一种编程技术,指的是函数直接或间接调用自身的过程。 递归通常用于解决可以分解为相同子问题的问题。通过不断地将问题分解成更小的、相似的子问题,直到达到某种基本情况(不再需要进一步递归的简单情…

C语言 main( ) 函数的指针数组形参是怎么回事?

一、问题 在使⽤⼀些开发⼯具⽣成C语⾔⽂件时,主函数 mian( ) 中会有参数,这个参数到底是怎么回事⼉呢? 二、解答 mian( ) 称为主函数,是所有程序运⾏的⼊口。 mian( ) 函数是由系统调⽤的,当处于操作命令状态下&…

【算法】滑动窗口——最大连续1的个数

本篇文章讲的是“最大连续1的个数”这道题,从最开始的简单暴力到用滑动窗口算法实现解题的思路历程,有需要借鉴即可。 目录 1.题目2.暴力求解3.滑动窗口解法3.1优化一:end重返start优化,end指针不回退3.2优化二:某一st…

invokeMethod 在 Flutter 中的使用场景与详解

在 Flutter 开发中,我们经常需要与原生平台(Android 或 iOS)进行交互,以实现一些平台特有的功能。invokeMethod 是 Flutter 提供的一个非常重要的 API,它允许我们通过 MethodChannel 与原生平台通信,并调用原生平台定义的方法。本文将详细介绍 invokeMethod 的使用场景、…

深入了解Process Exporter:Prometheus进程监控利器

一、概述 process-exporter主要用来监控进程的运行状态和资源使用情况。 exporter是从/proc目录下获取进程的状态。 二、安装 1、传统安装 下载二进制包,下载链接:https://github.com/ncabatoff/process-exporter/releases/tag/v0.8.1 2、kubernet…

达梦数据库常用命令整理

1.数据库自身信息 1.1 查询实例信息 SQL> select name inst_name from v$instance;行号 INST_NAME ---------- --------- 1 DMSERVER已用时间: 11.211(毫秒). 执行号:15.1.2 查询数据库当前状态 SQL> select status$ from v$instance;行号 STATUS$ -…

【Android项目】“追茶到底”项目介绍

没有多的介绍,这里只是展示我的项目效果,后面会给出具体的代码实现。 一、用户模块 1、注册(第一次登陆的话需要先注册账号) 2、登陆(具有记住最近登录用户功能) 二、点单模块 1、展示饮品列表 2、双向联动…