Qt Designer客户端安装和插件集(pyqt5和pyside2)
GitHub - PyQt5/QtDesignerPlugins: Qt Designer PluginsQt Designer Plugins. Contribute to PyQt5/QtDesignerPlugins development by creating an account on GitHub.https://github.com/PyQt5/QtDesignerPlugins
一、下载客户端
https://github.com/PyQt5/QtDesigner/releaseshttps://github.com/PyQt5/QtDesigner/releases
二、下载插件
https://github.com/PyQt5/QtDesignerPlugins/releaseshttps://github.com/PyQt5/QtDesignerPlugins/releases
三、解压
四、 打开客户端
五、自定义控件库
为防止出错,建议直接复制这个文件,进行替换修改。
新建一个demo_button_plugin.py文件,内容如下:
#!/usr/bin/env python"""
为 Qt Designer 提供的测试小部件插件。
"""
from PyQt5.QtCore import QSize
from PyQt5.QtGui import QIcon, QPixmap, QPainter, QImage
from PyQt5.QtDesigner import QPyDesignerCustomWidgetPlugin
from PyQt5.QtSvg import QSvgRenderer
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout# 我的小部件控件
class PyDemoButton(QWidget):"""自定义按钮"""def __init__(self, parent=None):super().__init__(parent)layout = QVBoxLayout()self.button = QPushButton("Click Me")layout.addWidget(self.button)self.setLayout(layout)# 测试小部件
if __name__ == "__main__":import sysapp = QApplication(sys.argv)clock = PyDemoButton()clock.show()sys.exit(app.exec_())# 插件注册
# TODO
class PyDemoButtonPlugin(QPyDesignerCustomWidgetPlugin):"""通过实现特定于 PyQt 的自定义插件类来为 Qt Designer 提供一个 Python 自定义插件。"""# __init__() 方法仅用于设置插件并定义其初始化变量。def __init__(self, parent=None):# TODOsuper(PyDemoButtonPlugin, self).__init__(parent)self.initialized = False# initialize() 和 isInitialized() 方法允许插件设置任何所需的资源,确保每个插件只能执行一次此操作。def initialize(self, core):if self.initialized:returnself.initialized = Truedef isInitialized(self):return self.initialized# 此工厂方法创建具有适当父级的新自定义小部件实例。def createWidget(self, parent):# TODOreturn PyDemoButton(parent)# 此方法返回此插件提供的自定义小部件类的名称。def name(self):# TODOreturn "PyDemoButton"# 返回此小部件所属的 Qt Designer 小部件框中的组名称。def group(self):# TODOreturn "PyQt Examples"# 返回用于在 Qt Designer 的小部件框中表示自定义小部件的图标。def icon(self):# TODOreturn QIcon(_logo_pixmap)# 返回一个简短的描述,作为自定义小部件的工具提示。鼠标悬停在空间盒中的控件时显示。def toolTip(self):return "这一个自定义的按钮"# 返回一个简短的描述,作为“这是什么?”帮助消息中的自定义小部件。def whatsThis(self):return "更加华丽的按钮"# 如果自定义小部件充当其他小部件的容器,则返回 True;否则返回 False。请注意,自定义容器的插件还需要提供 QDesignerContainerExtension 接口的实现,以便向 Qt Designer 添加自定义编辑支持。def isContainer(self):return False# 返回一个 XML 描述,描述自定义小部件实例的默认属性值。每个由此插件创建的自定义小部件都将使用此描述进行配置,将会呈现在Qt Designer的控件属性面板编辑器。def domXml(self):return '<widget class="PyDemoButton" name="demoButton">\n' \' <property name="toolTip">\n' \' <string>自定义小按钮</string>\n' \' </property>\n' \' <property name="whatsThis">\n' \' <string>一个好的按钮。</string>\n' \' </property>\n' \'</widget>\n'# 返回包含自定义小部件类的模块。它可以包括模块路径。转换成 Python 代码后,以此路径导入自定义小部件类。def includeFile(self):return "demoButton"# SVG图标 TODO
svg_content = """<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1729845139063" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="24308" xmlns:xlink="http://www.w3.org/1999/xlink" width="256" height="256"><path d="M762.77551 929.959184H261.22449c-40.75102 0-74.187755-33.436735-74.187755-74.710204v-288.914286c0-6.791837-5.22449-12.016327-11.493878-12.016327h-27.689796c-21.942857 0-40.75102-12.538776-49.110204-32.914285-8.359184-19.853061-3.657143-42.840816 11.493878-58.514286l341.159183-343.771429c15.673469-16.195918 37.616327-25.077551 60.604082-25.077551s44.930612 8.881633 61.126531 25.6L914.285714 463.412245c15.15102 15.673469 19.853061 38.661224 11.493878 58.514286-8.359184 20.37551-27.167347 32.914286-49.110204 32.914285h-27.689796c-6.269388 0-11.493878 5.22449-11.493878 12.016327v288.914286c-0.522449 40.75102-33.959184 74.187755-74.710204 74.187755zM512 135.836735c-12.016327 0-22.987755 4.702041-31.346939 13.061224L139.493878 492.669388c-5.22449 5.22449-3.657143 10.971429-2.612245 13.061224 1.044898 2.089796 3.657143 7.314286 10.971428 7.314286h27.689796c29.257143 0 53.289796 24.032653 53.289796 53.812245v288.914286c0 17.763265 14.628571 32.914286 32.391837 32.914285h501.55102c17.763265 0 32.391837-14.628571 32.391837-32.914285v-288.914286c0-29.779592 24.032653-53.812245 53.289796-53.812245h27.689796c6.791837 0 9.926531-5.22449 10.971428-7.314286 1.044898-2.089796 2.612245-7.836735-2.612245-13.061224L543.346939 148.897959c-8.359184-8.359184-19.330612-13.061224-31.346939-13.061224z" fill="#555555" p-id="24309"></path><path d="M663.510204 929.959184H360.489796v-219.428572c0-45.97551 37.616327-83.591837 83.591837-83.591836h135.836734c45.97551 0 83.591837 37.616327 83.591837 83.591836v219.428572z m-261.22449-41.795919h219.428572v-177.632653c0-22.987755-18.808163-41.795918-41.795919-41.795918H444.081633c-22.987755 0-41.795918 18.808163-41.795919 41.795918v177.632653z" fill="#555555" p-id="24310"></path></svg>"""
# 创建 QSvgRenderer 并加载 SVG 内容
svg_renderer = QSvgRenderer(svg_content.encode('utf-8'))
# 创建一个 QImage 用于渲染 SVG
image = QImage(QSize(svg_renderer.defaultSize()), QImage.Format_ARGB32)
image.fill(0) # 清空图像
# 创建一个 QPainter 用于绘制 SVG
painter = QPainter(image)
svg_renderer.render(painter)
painter.end()
# 将 QImage 转换为 QPixmap
_logo_pixmap = QPixmap.fromImage(image)
六、将demo_button_plugin.py文件放入Qt Designer控件库中
八 .重启Qt Designer
相关文章:
Qt Designer客户端安装和插件集(pyqt5和pyside2)
GitHub - PyQt5/QtDesignerPlugins: Qt Designer PluginsQt Designer Plugins. Contribute to PyQt5/QtDesignerPlugins development by creating an account on GitHub.https://github.com/PyQt5/QtDesignerPlugins 一、下载客户端 https://github.com/PyQt5/QtDesigner/rel…...
基于边缘计算的智能门禁系统架构设计分析
案例 阅读以下关于 Web 系统架构设计的叙述,回答问题1至问题3。 【说明】 某公司拟开发一套基于边缘计算的智能门禁系统,用于如园区、新零售、工业现场等存在来访被访业务的场景。来访者在来访前,可以通过线上提前预约的方式将自己的个人信息…...
鸿蒙实现相机拍照及相册选择照片
前言: 1.如果你的应用不是存储类型或者相机拍照类型,你就需要用 kit.CameraKit Api 实现相机拍照和相册选择照片功能,如果你不用这个的话,你使用 picker.PhotoViewPicker ,你就需要申请权限,那你提交应用审…...
「C/C++」C++17 之 std::filesystem::recursive_directory_iterator 目录及子目录迭代器
✨博客主页何曾参静谧的博客📌文章专栏「C/C」C/C程序设计📚全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasoli…...
智能EDA小白从0开始 —— DAY30 冉谱微RFIC-GPT
在科技日新月异的今天,电子设计自动化(EDA)行业正以前所未有的速度推动着半导体产业的革新与发展,引领着全球电子产业迈向更加智能化、高效化的未来。作为EDA领域的佼佼者,冉谱公司始终站在技术创新的前沿,…...
Android -- 调用系统相册之图片裁剪保存
前言 最近线上反馈,部分vivo手机更换头像时调用系统相册保存图片失败,经本人测试,确实有问题。 经修复后,贴出这块的代码供小伙伴们参考使用。 功能 更换头像选择图片: 调用系统相机拍照,调用系统图片…...
读《道德经》让人感到心胸气闷?董仲舒篡改
为什么读《道德经》会让人感到心胸气闷?难道是董仲舒篡改所致? 作为世界智慧源头的《老子》,享誉古今中外,是世界历史上最伟大的著作之一。 然而,很多人读《道德经》时会感到心胸气闷,这究竟是为什么呢&am…...
D52【python 接口自动化学习】- python基础之模块与标准库
day52 标准库 学习日期:20241029 学习目标:模块与标准库 -- 67 标准库:Python默认提供的便携功能有哪些? 学习笔记 标准库中的常见组件 如何通过官方文档学习标准 from urllib.request import urlopen with urlopen(http://ww…...
基于yolov8的布匹缺陷检测系统,支持图像、视频和摄像实时检测【pytorch框架、python源码】
更多目标检测和图像分类识别项目可看我主页其他文章 功能演示: 基于yolov8的布匹缺陷检测系统,支持图像、视频和摄像实时检测【pytorch框架、python源码】_哔哩哔哩_bilibili (一)简介 基于yolov8的布匹缺陷检测系统是在 PyTo…...
SQL Server 中,将单行数据转换为多行数据
在 SQL Server 中,将单行数据转换为多行数据通常涉及到将某个字段中的逗号分隔的值拆分成多行。这种操作通常称为“拆分”或“展开”(Explode)。以下是一些常用的方法来实现这一目标: 1. 使用内置函数 STRING_SPLIT 从 SQL Serv…...
解决数组两数之和问题与逻辑推理找出谋杀案凶手
给定一个整数数组nums和一个整数目标值target(2<nums.length<10^4),请你在该数组中找出和为目标值target 的那两个整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。 你可以按任意顺序返…...
uniapp的IOS证书申请(测试和正式环境)及UDID配置流程
1.说明 本教程只提供uniapp在ios端的证书文件申请(包含正式环境和开发环境)、UDID配置说明,请勿用文档中的账号和其他隐私数据进行测试,请勿侵权! 2.申请前准备 证书生成网站:苹果应用上传、解析&#x…...
windows 安装apex_Nvidia Apex安装
参见windows 安装apex_Nvidia Apex安装 重点: 1、在安装前先检查一下,电脑的cuda版本和pytorch内的cuda版本是否一样,不一样的话就把低版本的进行升级; $ git clone https://github.com/NVIDIA/apex$ cd apex2、在保证cuda版本一…...
Laravel5 抓取第三方网站图片,存储到本地
背景 近期发现,网站上的部分图片无法显示, 分析发现,是因为引用的第三方网站图片(第三方服务器证书已过期) 想着以后显示的方便 直接抓取第三方服务器图片,转存到本地服务器 思路 1. 查询数据表࿰…...
DevOps和CI/CD以及在微服务架构中的作用
DevOps 和 CI/CD 是现代软件开发和运维中两个重要的概念,它们之间有紧密的联系,但也有不同的侧重点。以下是对这两个概念的详细介绍和比较。 1. DevOps 定义: DevOps 是一种文化、运动和实践,旨在通过促进开发(Development)和运维(Operations)团队之间的协作,提升软…...
Rust 力扣 - 5. 最长回文子串
文章目录 题目描述题解思路题解代码题解链接 题目描述 题解思路 从中心点先寻找和中心点相等的左右端点,在基于左右端点进行往外扩散,直至左右端点不相等或者越界,然后左右端点这个范围内就是我们找寻的回文串,我们遍历中心点&am…...
DDOS防护介绍
DDoS攻击的基本概念 分布式拒绝服务攻击(DDoS)是一种网络攻击方式,攻击者通过控制多个被感染的计算机(僵尸网络)同时向目标服务器发送大量的网络请求,导致目标服务器资源耗尽,无法正常提供服务…...
深入了解 kotlinx-datetime:配置与使用指南
深入了解 kotlinx-datetime:配置与使用指南 在Kotlin多平台开发中,处理日期和时间是常见的需求。kotlinx-datetime库提供了强大且简洁的API来帮助开发者应对这一挑战。本文将详细介绍如何配置kotlinx-datetime库,并通过生动的示例演示其核心…...
Qt编程技巧小知识点(6)根据 *IDN? 对程控仪器连接状态进行确认
文章目录 Qt编程技巧小知识点(6)根据 *IDN? 对程控仪器连接状态进行确认小结 Qt编程技巧小知识点(6)根据 *IDN? 对程控仪器连接状态进行确认 确定仪器连接问题,常用的是监测仪器的连接状态,如下代码所示&…...
【Android】Kotlin教程(4)
文章目录 1.field2.计算属性3.主构造函数4.次构造函数5.默认参数6.初始化块7.初始化顺序7.延迟初始化lateinit8.惰性初始化 1.field field 关键字通常与属性的自定义 getter 和 setter 一起使用。当你需要为一个属性提供自定义的行为时,可以使用 field 来访问或设置…...
机票电子行程单如何批量查验?Java机票电子行程单查验接口示例-发票查验接口
机票电子行程单来了,它方便了人们的出行。现如今,随着旅游、差旅市场的回暖与线上业务的蓬勃发展,机票电子行程单的需求量急剧攀升,如何高效且准确地查验这些电子行程单成为许多企业和财务部门关注的焦点。传统的人工查验流程耗时…...
记录element-ui改造select显示为table,并支持多查询条件
最近遇到的一个需求 , 很有趣,是需要一个select组件,要求显示工号,员工姓名,以及区域 三个字段,并且要支持三个字段的查询。显然element原生的组件不适用,这时候我们需要改造一下,把…...
Spearman、Pearson、Euclidean、Cosine、Jaccard,用来衡量不同数据之间的相似性或差异性
1. Spearman相关系数: 用于衡量两个变量之间的排序关系的强度和方向。Spearman相关系数关注的是两个变量的排序一致性,而不关心具体的数值大小。值的范围为-1到1,1表示完全正相关,-1表示完全负相关,0表示无相关性。常…...
Suno 歌曲生成 API 对接说明
随着 AI 的应用变广,各类 AI 程序已逐渐普及。AI 已逐渐深入到人们的工作生活方方面面。而 AI 涉及的行业也越来越多,从最初的写作,到医疗教育,再到现在的音乐。 Suno 是一个专业高质量的 AI 歌曲和音乐创作平台,用户…...
详细且系统的Spring Boot应用开发
为了帮助大家更好地理解如何使用Spring Boot来构建一个基础的Web应用程序,我将通过一个简单的例子来进行说明。这个例子将是一个基本的RESTful API服务,用于管理图书信息。 项目准备 1. 开发环境设置(这个我之前有发文,这里就不详…...
线程支持库(C++11)
线程支持库包含了线程,互斥锁,线程条件变量(class thread),定义于<thread> 线程提供一个并发的实例,需要对应一个“线程函数” 线程的主要任务就是去执行这个"线程函数" 既然线程需要提供一个线程函数,…...
【计网】深入理解NAT机制,内网穿透与内网打洞,代理服务
我没胆量犯错 才把一切错过 --- 林夕 《我对不起我》--- 一文了解NAT机制,代理服务,内网穿透 1 再谈 NAT 机制2 内网穿透与内网打洞3 代理服务器 1 再谈 NAT 机制 NAT机制我们在解决IP地址不足的问题中提到过。为了解决IP地址不足的问题,采…...
C# 创建型设计模式----工厂模式
1 、什么是工厂模式 简单来说就是由一个对象去生成不同的对象,工厂模式是用工厂方法代替new操作的一种模式。工厂方法封装了多个相关联类的new方法,每次实例化这些类的时候不需要new多次,只需要调用工厂类的对应方法即可实例化这些类&#x…...
java中Scanner的nextLine和next方法
思考,输入1 2 3 4 5加上enter,输出什么 import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);int[][] m new int[2][2];for (int i 0; i < 2; i) {for (int j 0; j < 2;…...
2024年全国山洪径流模拟与洪水危险性评价技术及典型地区洪水淹没及损失分析
洪水淹没危险性(各种年遇型洪水淹没)是洪水损失评估、风险评估及洪水应急和管理规划等工作的重要基础。当前开展洪水危险性研究工作中的主要困难之一是水文资料稀缺,尤其是径流资料稀缺,既包括径流观测资料在时间上的短缺…...
wordpress外联插件/太原seo推广
亲爱的BCGSoft用户,我们非常高兴地宣布BCGControlBar Professional for MFC和BCGSuite for MFC v31.0正式发布!全新的CBCGPMultiViewFrameWnd类(实现多视图单文档界面)、新增主题CBCGPNumericIndicatorImpl、在高DPI模式下改进的功…...
wordpress安装主题报错/最佳的搜索引擎
一种基于ipmi的对服务器进行自动化重启测试的方法【技术领域】[0001]本发明涉及重启测试技术技术,尤其涉及一种基于IPMI的对服务器进行自动化重启测试的方法。【背景技术】[0002]随着服务器行业的高速发展,在各个领域中越来越多的客户采用计算能力更强的…...
厦门外贸网站建设公司/西安霸屏推广
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼怎样转换下面的二维数组到一维数组,然后输入数字,然后显示出输入数字在数组中相对应的词char commonWords[13][60] {"C is a structured, procedural programming","language that has been …...
农安县建设局官方网站/开发一个app软件多少钱
决策树算法ID3和C4.5实现鸾尾花分类预测ID3和C4.5算法原理简单介绍1、这两个算法差别不是特别大,一个是用信息增益来判断,一个是用信息增益率来判断,在sklearn库中指定 criterion“entropy” 即可,只是准确度不一样。2、这两个算法…...
双语网站价格/安卓优化大师官方下载
转载 http://blog.csdn.net/lmj623565791/article/details/45059587; 本文出自:【张鸿洋的博客】 概述 RecyclerView出现已经有一段时间了,相信大家肯定不陌生了,大家可以通过导入support-v7对其进行使用。 据官方的介绍,该控件用…...
杭州网站建设哪家好/手机系统优化软件哪个好
$secretKey 你的secretKey;$srcStr GETfaceid.tencentcloudapi.com/?;// 文档中示例是POST的 这里改成GET 这里踩个坑- -$param ["Action"> DetectAuth,//默认"Nonce"> rand(1000,9999),"SecretId">"你的secretId",Regio…...