【1】一文读懂PyQt简介和环境搭建

news2024/11/28 16:39:40

目录

1. PyQt简介

1.1. Qt

1.2. PyQt

1.3. 关于PyQt和PySide

2. 通过pip安装PyQt5

3. 无法运行处理

4. VSCode配置PYQT插件


PyQt官网:Riverbank Computing | Introduction

1. PyQt简介

PyQt是一套Python的GUI开发框架,即图形用户界面开发框架.

Python中经常使用的GUI控件集有PyQt、Tkinter、wxPython、Kivy、PyGUI和Libavg

其中PyQt是Qt(c++语言实现的)为Python专门提供的扩展

1.1. Qt

Qt 是一个1991年由Qt Company开发的跨平台C++图形用户界面开发框架。
2008年,Qt Company被诺基亚公司收购,Qt也因此成为诺基亚旗下的编程语言工具。
2012年,Qt被Digia收购。
2014年4月,跨平台集成开发环境Qt Creator 3.1.0正式发布

1.2. PyQt

  • 基础高性能的Qt的图形界面控件集
  • 能够跨平台运行在windows、linux和macos等系统上
  • 使用信号/槽(signal/slot)机制进行通信(其它语言采用回调方式)
  • 对Qt库的完全封装

1.3. 关于PyQt和PySide

首先推荐的就是PyQt,PyQt是Qt的Python版本,而Qt是一种成熟的GUI开发框架,底层是由C++开发而成,采用PyQt开发GUI,后面可以进一步转C++开发Qt,因此,如果想要入手图形用户界面开发,PyQt是非常推荐的一款框架,需要注意的是,PyQt有两种许可协议,分别是GPLv3许可证和需要购买版权的商业许可证,GPLv3是强开源协议,意味着,如果你的应用程序里面使用了PyQt,那么你的程序必须开源,否则可能收到法院传票,如果想要闭源商用,就必须购买Riverbank Computing公司的商业许可证。

但如果你既想享受Qt的强大功能,又想闭源商用,那么PySide适合你,说到PySide,就不得不说Qt与PyQt之间的恩怨,Qt的研发公司是Nokia,Riverbank Computing公司使用Python封装了Qt研发出PyQt,而PyQt从诞生时就是GPLv3协议,因此Nokia与Riverbank Computing谈判,希望将PyQt的协议修改为LGPLv3,可以带来更多的商业用户,但是两个公司谈崩了,所以Nokia自己重新研发了Py版本的Qt也就是PySide,后来Nokia将Qt和PySide卖给了Digia公司。

PySide官网:Qt for Python

总结:

  • 如果不做商业项目,强烈建议使用PyQt,资料多,稳定。全局替换成PySide也很方便。
  • 需要开发闭源商用软件的就用PySide。所有API用起来几乎一样。
  • PyQt5的对应版本是PySide2

2. 通过pip安装PyQt5

  • pip install PyQt5 安装PyQt5
  • pip install PyQt5-tools 安装Qt工具软件
  • pip install PyQt5-stubs 安装PyQt5语法检测包(可选)

安装完成之后可以在Python的安装目录/Lib/site-packages中找到PyQt5目录。

路径示例:%LOCALAPPDATA%\Programs\Python\Python39\Lib\site-packages

如果安装缓慢,请配置pip源:

pip包管理工具-CSDN博客文章浏览阅读322次,点赞4次,收藏7次。pip 是 Python 包管理工具,该工具提供了对Python包的查找、下载、安装、卸载的功能。Python 2.7.9+ 或 Python 3.4+ 以上版本的python都自带 pip 工具。https://blog.csdn.net/bug_love/article/details/134748875?spm=1001.2014.3001.5502

3. 无法运行处理

如果运行PyQt程序报如下错误,不报错不需要配置!:

则将如下变量添加到系统环境中:

QT_QPA_PLATFORM_PLUGIN_PATH

值为:

%LOCALAPPDATA%\Programs\Python\Python39\Lib\site-packages\PyQt5\Qt5\plugins\platforms

重启编辑器或控制台即可

注意这里的%LOCALAPPDATA%\Programs\Python\Python39是你的Python安装路径,如果安装时不是默认路径,请将此部分内容替换成自己的安装路径。

建议直接使用Everything搜索qoffscreen.dll,找到目录

4. VSCode配置PYQT插件

安装PYQT Integration插件,可以帮我们自动生成UI相关代码和资源。最好进行如下配置:

  1. 配置.ui生成的.py文件中导入资源的路径:--import-from=ui 指向ui目录
  2. 配置designer.exe可执行程序的路径,例如我的路径:D:\Programs\Python\Python39\Lib\site-packages\qt5_applications\Qt\bin\designer.exe
  3. 在Python安装路径下找designer.exe,建议用everything搜索designer.exe。如果搜不到,请先确保已安装PyQt5-tools, 安装方法:pip install PyQt5-tools

其他不用变

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

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

相关文章

NXT : 十年源头代码的回溯与展望

11月28日,区块链领域的开山鼻祖之一NXT上线十周年。十年弹指一挥间,从2013年最初基于密码学证明思想构建的NXT,到今日仍在不断拓展与优化的Ardor(NXT 2.0)生态。我们不妨利用这个契机,回溯一下这个源头级公链的创新之路。 2013年,在区块链意味着复制比特币代码并调整挖矿算法的…

Verilog基础:$time、$stime和$realtime系统函数的使用

相关阅读 Verilog基础https://blog.csdn.net/weixin_45791458/category_12263729.html $time、 $stime和$realtime这三个系统函数提供了返回当前仿真时间方法。注意,这里的仿真时间的最小分辨能力是由仿真时间精度决定的,简单来说,可以理解为…

在线测量大尺寸管材的测径仪有哪些?

工业高速发展的背后,离不开与之匹配的高端设备作为科研的支撑。品质检测仪器也在随着现代科技的发展而不断变化,随着科技的进步,各种大口径的管材、管道被生产制造出来,而对其外径尺寸的检测则因口径范围大而使得很少有仪器能进行…

js选中起始时间使用标准时间毫秒值计算一年后的当前少一天的日期(并考虑闰年)

js选中起始时间使用标准时间毫秒值计算一年后的当前少一天的日期 实际代码里面带入默认日期’20230301’这个特殊日期&#xff0c;因为下一年的当前日期少一天为闰年的2月会有29天&#xff0c;使用特殊值校验代码效果图 HTML部分代码 <el-button click"chengTime()&q…

多线程--11--ConcurrentHashMap

ConcurrentHashMap与HashMap等的区别 HashMap线程不安全 我们知道HashMap是线程不安全的&#xff0c;在多线程环境下&#xff0c;使用Hashmap进行put操作会引起死循环&#xff0c;导致CPU利用率接近100%&#xff0c;所以在并发情况下不能使用HashMap。 ConcurrentHashMap 主…

读书笔记-《数据结构与算法》-摘要2[冒泡排序]

冒泡排序 核心&#xff1a;冒泡&#xff0c;持续比较相邻元素&#xff0c;大的挪到后面&#xff0c;因此大的会逐步往后挪&#xff0c;故称之为冒泡。 public class BubbleSort {public static void main(String[] args) {int unsortedArray[] new int[]{6, 5, 3, 1, 8, 7, 2…

软件设计之适配器模式

类模式 我们知道插座的电压为交流电220V&#xff0c;而日常电器使用的是直流电且电压会较小&#xff0c;比如手机充电会通过插头适配器达到额定的输入电流。下面我们实现这个案例&#xff1a;将220V电压转化为5V的电压。 package Adapter.Class;public class Adapter extends …

外包干了8个月,技术退步明显.......

先说一下自己的情况&#xff0c;大专生&#xff0c;18年通过校招进入武汉某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了四年的功能测…

Hello World

世界上最著名的程序 from fastapi import FastAPIapp FastAPI()app.get("/") async def root():return {"message": "Hello World"}app.get("/hello/{name}") async def say_hello(name: str):return {"message": f"…

Python实现FA萤火虫优化算法优化BP神经网络回归模型(BP神经网络回归算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 萤火虫算法&#xff08;Fire-fly algorithm&#xff0c;FA&#xff09;由剑桥大学Yang于2009年提出 , …

通过断点调试解决node 运行js程序直接退出(没有任何报错提示)的问题

现象&#xff1a; node运行程序直接退出&#xff0c;但是从echo $?的返回值可以知道&#xff1a; 一定出现了错误&#xff0c;但是没有显示出来 解决办法&#xff1a; 1. 使用node --inspect-brk 启动程序 然后在浏览器访问chrome://inspect 然后点击inspect 进行单步调试 …

BearPi Std 板从入门到放弃 - 引气入体篇(6)(定时器TIM2)

简介 基于前面几篇, 增加定时器方面内容&#xff0c; LED定时闪动&#xff0c; 串口定时打印; 如前几篇所说&#xff0c; 使用BearPi Std板进行学习测试, 本例 开发板 &#xff1a; Bearpi Std(小熊派标准板) 主芯片: STM32L431RCT6 LED : PC13 \ 推挽输出即可 \ 高电平点亮 …

股价暴涨192%后,夏威夷控股股票还值得买入吗?

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 这两家公司计划组建一个横跨太平洋的航空公司 阿拉斯加航空(ALK )近期宣布它已和夏威夷航空(HA)达成协议&#xff0c;将以19亿美元现金和承担债务的方式收购夏威夷控股的母公司。 但这一消息却使两家公司的股价走向了相反的…

QT 无法打开包括文件 “xxxx.h”: No such file or direcotry 提升控件后提示找不到头文件

问题复现 UI文件提升控件后&#xff0c;提示找不到头文件。 原因 Qt中的ui文件会经过moc编辑器生成ui_xxx.h头文件。 在主页面的ui文件中因为使用了提升的widget&#xff0c;所以ui的ui头文件因该包含自定义控件的头文件。但是头文件的路径可以看出已经错误了。 #include &…

vue3 vue-router的安装及配置 (一)

文章目录 一、安装二、Vue Router配置2.1 vue-router两种引入方式的区别2.2 不同的历史模式 三、router-link四、router-view Vue Router作用&#xff1a;在应用程序中实现优雅的导航和路由管理。 一、安装 注意&#xff1a;vue3安装的是vue-router4,vue2安装的是vue-router3…

Java核心知识点整理大全27-笔记(已完结)

目录 30. 云计算 30.1.1. SaaS 30.1.2. PaaS 30.1.3. IaaS 30.1.4. Docker 30.1.4.1. 概念 30.1.4.2. Namespaces 30.1.4.3. 进程(CLONE_NEWPID 实现的进程隔离) 30.1.4.4. Libnetwork 与网络隔离 30.1.4.5. 资源隔离与 CGroups 30.1.4.6. 镜像与 UnionFS 30.1.4.7.…

2024年天津财经大学珠江学院专升本专业课《管理学原理》考试大纲

天津财经大学珠江学院2024年高职升本科专业课考试《管理学原理》考试大纲 一、本大纲系天津财经大学珠江学院2024年高职升本科《管理学原理》课程考试大纲。所列考试范围出自徐碧琳主编的教材《管理学原理&#xff08;第二版&#xff09;》&#xff0c;机械工业出版社&#xff…

玻色量子计算应用奖公布!MathorCup大赛圆满落幕

2023年8月15日&#xff0c;中国优选法统筹法与经济数学研究会主办的2023年第十三届MathorCup高校数学建模挑战赛圆满落幕。为了培养优秀学子的创新意识及运用数学方法和量子计算技术解决实际问题的能力&#xff0c;推动量子计算的实际落地应用&#xff0c;北京玻色量子科技有限…

【读点论文】A Survey of Quantization Methods for Efficient Neural Network Inference

A Survey of Quantization Methods for Efficient Neural Network Inference Abstract 一旦抽象的数学计算适应了数字计算机的计算&#xff0c;在这些计算中如何有效地表示、处理和传递数值的问题就出现了。与数字表示问题密切相关的是量化问题:一组连续的实值数应该以何种方…

计算机专业拟招100人,只考数据结构或计算机网络!石家庄铁道大学2024年硕士研究生招生简章

石家庄铁道大学2024招生简章 计算机专业目录 计算机专业参考书目 初试书目 814 数据结构&#xff08;一&#xff09; 《数据结构&#xff08;C 语言版&#xff09;》&#xff08;第 2 版&#xff09; 人民邮电出版社&#xff0c;严蔚敏&#xff0c;李冬梅&#xff0c;吴伟民…