PyQt6安装教程

目录

1、安装PyQt6和pyqt6-tools

2、在Pycharm里配置Qt Designer

3、配置Pyuic工具

4、配置Pyrcc工具

5、三个工具的作用


1、安装PyQt6和pyqt6-tools

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

2、在Pycharm里配置Qt Designer

作用:通过Qt语言进行UI设计(支持拖拽式的UI设计)

打开Pycharm,按快捷键Ctrl+Atl+S,打开设置界面,然后在工具选项里找到外部工具,点击“+”号。

之后设置扩展模块名字,模块程序路径等。这里的Designer有两种配置方法

首先讲解第一种

Name: QTDesigner (可自定义)
Group: External Tools (可自定义)
Program: D:\Anaconda3\envs\pyqt6\Lib\site-packages\qt6_applications\Qt\bin\designer.exe (填自己Python目录下的)
Working directory:$FileDir$ (表示你在哪个文件夹打开的designer,生成的ui文件就在哪个文件夹。)

第二种

仔细发现,我们与第一种配置方法有两处不同,第一处是Program,第二处是Arguments。这里Arguments的这个要注意,必须填designer。

Name: QTDesigner (可自定义)
Group: External Tools (可自定义)
Program: D:\Anaconda3\envs\pyqt6\Scripts\pyqt6-tools.exe (填自己Python目录下的)
Arguments: designer (必须填designer)
Working directory:$FileDir$ (表示你在哪个文件夹打开的designer,生成的ui文件就在哪个文件夹。)

3、配置Pyuic工具

作用:主要用来将QtDesigner生成的ui文件转化为py文件的工具。

同样再次点左上角的+号添加Pyuic。

同样,这里也有两种配置方法

第一种配置方法:

Name: pyuic
Group: External Tools
Program: D:\Anaconda3\envs\pyqt6\Scripts\pyuic6.exe
Arguments: $FileName$ -o $FileNameWithoutExtension$.py
Working directory: $FileDir$ (生成的py文件和ui文件在同一目录。)

第二种:

这里的主要区别同样是ProgramArguments

Name: pyuic
Group: External Tools
Program: D:\Anaconda3\envs\pyqt6\python.exe
Arguments:  -m PyQt6.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
Working directory: $FileDir$ (生成的py文件和ui文件在同一目录。)

4、配置Pyrcc工具

作用:主要用来将图片、数据文件资源打包成py文件。(删除图片后也可用)

需要注意的是,PyQt6没有提供Pyrcc工具。但是如我们需要,可以利用PyQt5的Pyrcc工具进行转换。只需将文件开头的 from PyQt5 import QtCore 替换为 from PyQt6 import QtCore 即可。

同样,我们也可以使用 PySide6 提供的 pyside6-rcc 工具来编译出 .py 文件,也是只需将文件开头的 from PySide6 import QtCore 替换为 from PyQt6 import QtCore 即可。

这里介绍一下PySide6,PySide6和PyQt6是两个用于创建Python应用程序的GUI工具包。它们都是基于Qt框架,并提供了类似的功能和API,但在使用和授权方面存在一些区别。

授权方式:PySide6是开源的,由Qt公司的父公司Digia维护。它使用LGPL授权,可以免费用于开发商业应用。PyQt6则由Riverbank Computing授权,并提供商业和GPL授权两种版本。

PySide6的安装和PyQt6类似(安装后就包括了QtDesigner工具):

pip install pyside6 -i https://pypi.tuna.tsinghua.edu.cn/simple

PySide6的学习视频:哔哩哔哩

5、三个工具的作用

  • QtDesigner:提供了一个可视化的用户界面(UI)设计功能,使用户能够拖拽式地在界面上构建和布置多个各种不同的控件,其支持的控件类型包括:窗口、标签、文本框、按钮以及其他常见的用户界面部件。使用QtDesigner设计生成的UI文件可以作为参数传递给PyUIC,用于生成Python代码文件。
  • PyUIC:将QtDesigner代码转化成Python代码的工具,使用户在QtDesigner中以可视化方式设计生成的UI文件能够通过PyQt5库在Python程序中使用。通过PyUIC的转换,用户可以在Python程序中使用QtDesigner设计的UI文件,通过对UI控件的创建、组合和绑定方法等进一步编写逻辑实现更加复杂的交互功能。
  • Pyrcc:将图片、数据文件资源打包成Py文件,是一种将资源文件打包的工具。在使用QtDesigner和PyUIC时,如果有需要将图像、声音、字体或其他数据文件打包成Py文件,也可以使用Pyrcc。使用Pyrcc,可以将外部数据文件打包成内置处理,使程序具有良好的可移植性,减少文件散乱与不易维护的问题。

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

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

相关文章

uniapp----分包

系列文章目录 uniapp-----封装接口 uniapp-----分包 目录 系列文章目录 uniapp-----封装接口 uniapp-----分包 前言 二、使用步骤 1.创建文件 ​编辑 2.min.js的修改 2.1 subPackages 代码如下(示例): 2.2 preloadRule 代码如下&am…

redis事务对比Lua脚本区别是什么

redis官方对于lua脚本的解释:Redis使用同一个Lua解释器来执行所有命令,同时,Redis保证以一种原子性的方式来执行脚本:当lua脚本在执行的时候,不会有其他脚本和命令同时执行,这种语义类似于 MULTI/EXEC。从别…

uniapp开发(由浅到深)

文章目录 1. 项目构建1.1 脚手架构建1.2 HBuilderX创建 uni-app项目步骤: 2 . 包依赖2.1 uView2.2 使用uni原生ui插件2.3 uni-modules2.4 vuex使用 3.跨平台兼容3.1 条件编译 4.API 使用4.1 正逆参数传递 5. 接口封装6. 多端打包3.1 微信小程序3.2 打包App3.2.1 自有…

棒球发展史·棒球1号位

棒球发展史 1. 棒球的起源 棒球的起源地棒球的起源地。棒球,也被称为垒球或棒球运动,起源于19世纪晚期的美国。当时在美国,体育运动已经有了较为完备的体制,也形成了多种不同的运动形式。然而,最受欢迎的体育运动主要…

【第三阶段】kotlin语言的split

const val INFO"kotlin,java,c,c#" fun main() {//list自动类型推断成listList<String>val listINFO.split(",")//直接输出list集合&#xff0c;不解构println("直接输出list的集合元素&#xff1a;$list")//类比c有解构&#xff0c;ktoli…

ReactDOM模块react-dom/client没有默认导出报错解决办法

import ReactDOM 模块“"E:/Dpandata/Shbank/rt-pro/node_modules/.pnpm/registry.npmmirror.comtypesreact-dom18.2.7/node_modules/types/react-dom/client"”没有默认导出。 解决办法 只需要在tsconfig.json里面添加配置 "esModuleInterop": true 即…

chatGPT小白快速入门培训课程-001

一、前言 本文是《chatGPT小白快速入门培训课程》的第001篇文章&#xff0c;全部内容采用chatGPT和chatGPT开源平替软件生成。完整内容大纲详见&#xff1a;《chatGPT小白快速入门课程大纲》。 本系列文章&#xff0c;参与&#xff1a; AIGC征文活动 #AIGC技术创作内容征文# …

27.Netty源码之FastThreadLocal

highlight: arduino-light FastThreadLocal FastThreadLocal 的实现与 ThreadLocal 非常类似&#xff0c;Netty 为 FastThreadLocal 量身打造了 FastThreadLocalThread 和 InternalThreadLocalMap 两个重要的类。下面我们看下这两个类是如何实现的。 FastThreadLocalThread 是对…

leetcode 力扣刷题哈希表初尝试

哈希表 刷题初尝试 哈希表基础知识242. 有效的字母异位词383. 赎金信49. 字母异位词分组438. 找到字符串中所有字母异位词 哈希表基础知识 哈希表是一种数据结构&#xff0c;也叫散列表。哈希表中存储的是键值对&#xff0c;即(key&#xff0c;value)&#xff0c;根据key直接查…

【Java】数据交换 Json 和 异步请求 Ajax

&#x1f384;欢迎来到边境矢梦的csdn博文&#xff0c;本文主要讲解Java 中 数据交换和异步请求 Json&Ajax 的相关知识&#x1f384; &#x1f308;我是边境矢梦&#xff0c;一个正在为秋招和算法竞赛做准备的学生&#x1f308; &#x1f386;喜欢的朋友可以关注一下&#…

Leetcode 21. 合并两个有序链表

题目描述 题目链接&#xff1a;https://leetcode.cn/problems/merge-two-sorted-lists/description/ 思路 两个链表都是升序链表&#xff0c;新建一个链表&#xff0c;引入伪头节点作为辅助节点&#xff0c;将各节点添加到伪节点之后&#xff0c;再用一个cur节点指向新链表的…

Mybatis 初识

目录 1. MyBatis入门 1.1 MyBatis的定义 1.2 MyBatis的核心 MyBatis的核心 JDBC 的操作回顾 1.3 MyBatis的执行流程 MyBatis基本工作原理 2. MyBatis的使用 2.1 MyBatis环境搭建 2.1.1 创建数据库和表 2.1.2 添加MyBatis框架支持 老项目添加MyBatis 新项目添加MyBatis 2.1.3 设…