Pyqt5+PyQt-Fluent-Widgets+Pycharm环境安装

news2025/1/11 18:43:55

文章目录

      • 1. Pyqt5环境安装
      • 2. Pycharm配置QtDesigner
      • 3. PyQt-Fluent-Widgets插件安装
      • 4. 在QtDesigner中使用PyQt-Fluent-Widgets

1. Pyqt5环境安装

  • 使用miniconda创建一个新环境作为pyqt5的开发。这里使用的python3.8版本,网上说太高的python3.10版本无法同时安装pyqt5和pyqt-tools。

    conda creat -n pyqt5 python=3.8
    
  • 然后激活刚刚创建的环境(pyqt5),如果没有换源的请按照以下指令更换conda镜像源和pip镜像源,提升python包的下载速度。

    # Conda 镜像源
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r/
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
    conda config --set show_channel_urls yes
    
    # pip 临时换源
    pip install <package_name> -i https://pypi.tuna.tsinghua.edu.cn/simple
    # pip 永久换源
    pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
    
  • 安装Pyqt5 和Pyqt5-tools

    # Pyqt5安装
    pip install PyQt5
    # Pyqt5-tools 安装
    pip install PyQt5-tools
    
  • 通过conda list查看已经安装的包,此时安装的Pyqt版本是5.15.9,Pyqt5.15.x及以后的版本除了安装上述两个包之外,还安装了pyqt5-sipqt5-applicationsqt5-tools

在这里插入图片描述

  • 设置环境变量

    D:\LenovoSoftstore\Miniconda\envs\pyqt5\Lib\site-packages\PyQt5\Qt5\plugins

2. Pycharm配置QtDesigner

  • 打开Pycharm,设置,外部工具,添加三个外部工具QtDesignerPyUICPyqrc,设置程序路径如下图所示。

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

  • 然后我们可以在工具->外部工具里面找到刚刚定义的QtDesignerPyUiCPyqrc

在这里插入图片描述

  • 点击QtDesigner 即可打开Qt设计师。

    在这里插入图片描述

  • 验证Pyqt5是否正常工作先用QtDesigner随便拖几个部件,保存为Test.ui文件。

    在这里插入图片描述

  • 然后我们回到Pycharm,发现刚刚生成的Test.ui,右键用前面配置的外部工具PyUIC将其转化为.py文件。

    在这里插入图片描述

  • 文件夹多了一个Test.py文件出来,就是刚刚我们用QtDesigner设置的界面。

    在这里插入图片描述

  • 接着在mian函数中调用这个界面并显示,写入以下代码运行,即可看到刚刚创建的界面。

    import sys
    from PyQt5 import QtCore, QtGui, QtWidgets
    import Test  # 导入QtTest文件
    def main():
        # 获取UIC窗口操作权限
        app = QtWidgets.QApplication(sys.argv)
        MainWindow = QtWidgets.QMainWindow()
        # 调自定义的界面(即刚转换的.py对象)
        Ui = Test.Ui_MainWindow()  # 这里也引用了一次Test.py文件的名字注意
        Ui.setupUi(MainWindow)
        # 显示窗口并释放资源
        MainWindow.show()
        sys.exit(app.exec_())
    
    if __name__ == '__main__':
        main()
    

    在这里插入图片描述

3. PyQt-Fluent-Widgets插件安装

  • PyQt-Fluent-Widets是一个使用 PyQt/PySide 编写的 Fluent Design 风格的组件库,包含许多常用的组件,支持亮暗主题无缝切换和自定义主题色,支持 PyQt5/PyQt6/PySide2/PySide6。

  • 说明文档 https://pyqt-fluent-widgets.readthedocs.io/en/latest/

  • github : https://github.com/zhiyiYo/PyQt-Fluent-Widgets

  • conda 环境中安装Pyqt-Fluent-Widgets

    pip install "PyQt-Fluent-Widgets[full]"
    
  • 下载github包,运行示例,基本风格和windows 一样。

    cd examples/gallery
    python demo.py
    

    在这里插入图片描述

4. 在QtDesigner中使用PyQt-Fluent-Widgets

  • 在 Qt Designer 中,有两种使用 PyQt-Fluent-Widgets 的方式。

  • 右击一个小部件,选择右击菜单上的提升为, 是把原生部件替换成自定义小部件,在这个例子中是 qfluentwidgets.PushButton

    img

  • 弹出的对话框上需要填写自定义的组件名。头文件是组件库的包名 qfluentwidgets,提升的类名称为 PushButton

    img

  • 完成提升后不会在设计师中看到任何变化,保存 ui 文件后编译为 py 代码,可以发现 import 的是 PushButton

  • 第二种方法是使用插件。

    运行 python ./tools/designer.py 来启动设计师软件(必须使用脚本启动)

    一切无误的情况下能在侧边栏 Widget Box 中看到 PyQt-Fluent-Widgets 的组件。

    在这里插入图片描述

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

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

相关文章

开源社 KCC@新加坡成立啦!

3年疫情结束&#xff0c;世界恢复了正常&#xff0c;新加坡作为亚洲领先的世界城市&#xff0c;吸引了越来越多来自世界的人才。大模型在人工智能领域的突破&#xff0c;让大家更加看到开源的能力。经过9年的发展&#xff0c;开源社在长期的伙伴支持下&#xff0c;开始了出海的…

RabbitMQ系列(10)--RabbitMQ发布确认模式的概念及实现

概念&#xff1a;虽然我们可以设置队列和队列中的消息持久化&#xff0c;但任然存在消息在持久化的过程中&#xff0c;即在写入磁盘的过程中&#xff0c;消息未完全写入&#xff0c;然后服务器宕机导致消息丢失的情况&#xff0c;发布确认就是为了解决这种情况的概念&#xff0…

前端技术搭建五子棋游戏(内含源码)

The sand accumulates to form a pagoda ✨ 写在前面✨ 功能介绍✨ 页面搭建✨ 样式设置✨ 逻辑部分 ✨ 写在前面 上周我们实通过前端基础实现了拼图游戏&#xff0c;今天还是继续按照我们原定的节奏来带领大家完成一个五子棋游戏&#xff0c;功能也比较简单简单&#xff0c;也…

探究工业运营中的三大工具:根因分析、过程优化和预测性维护

在工业运营领域&#xff0c;根本原因分析、过程优化工具和预测性维护正在彻底改变维护实践的方式。这些工具的战略性组合使得制造工厂能够提升实践水平、提高生产力&#xff0c;并实现持续的成功。本文将以PreMaint为基础&#xff0c;探讨这些工具之间的差异&#xff0c;以及如…

添加数据维度并使用Python绘制5D散点图

大家好&#xff0c;散点图通常用于比较2个不同特征以确定它们之间的关系&#xff0c;散点图也可以添加更多的维度来反映数据&#xff0c;例如使用颜色、气泡大小等。在本文中&#xff0c;将介绍如何绘制一个五维的散点图。 数据集&#xff1a; https://github.com/checkming0…

物联网工控屏在ROV布放回收系统中的应用

一、背景 1. 深海作业装备制造行业 随着我国经济与科学技术的发展壮大&#xff0c;作为“蓝色粮仓”的海洋能源开采建设逐渐成为一项重要的事业。深海作业装备则成为海洋能源开采的必备和关键工具&#xff0c;其性能和可靠性须得以保障。也因此&#xff0c;开发性能表现更优、…

vs背景和主题设置(一看就会,简单实用)

VS背景设置 目录&#xff1a;一、背景插件下载二、主题切换三、调整成自己喜欢的界面 目录&#xff1a; 学习编程是个漫长的过程&#xff0c;设置一个自己喜欢的背景&#xff0c;可以使自己编写代码的时候更舒服。马上行动起来&#xff0c;设置一个自己喜欢的背景吧。 分享一下…

J2EE集合框架List

目录 一.UML ①集合类图 ②线下教育平台用例图 二.List集合特点 ①学集合框架就是了解容器的数据结构&#xff08;增删改查&#xff09; ②有序的 可重复的 三.遍历方式 ① foreach ② iterator 迭代器 ③ for 四.LinkedList ①对比ArrayList是数据结构 Linkedlist…

【回溯算法part01】| 理论基础、77.组合

&#x1f388;回溯算法理论基础 回溯算法的本质是穷举&#xff0c;并不是一个高效的算法&#xff0c;但是有的题必须要用回溯法&#xff0c;如&#xff1a; 组合问题&#xff1a;N个数里面按一定规则找出k个数的集合切割问题&#xff1a;一个字符串按一定规则有几种切割方式子集…

学习 | 药品GMP认证和药厂GMP认证是怎么回事?

可能本身从事药品生产经营的朋友会知道&#xff0c;药品的GMP认证是怎么一回事&#xff0c;但是对于一些想要进入药品生产行业的企业&#xff0c;例如化工产品想进入原料药生产、药用辅料生产&#xff0c;塑料等材料制作商进入药品包装材料生产&#xff0c;只是听这说听那说&am…

【STL】vector快速上手

目录 一&#xff0c;vector的模板特性 二&#xff0c;vector基本使用 1. 构造函数 2. operator 赋值 3. vector——增删 A, 尾插 && 尾删 B&#xff0c;insert C, erase 4. 访问vector 遍历vector中元素&#xff1a; 法一&#xff1a;数组[]法 || at法…

HashMap-JDK8源码讲解及常见面试题

数据结构 红黑树 在JDK8中&#xff0c;优化了HashMap的数据结构&#xff0c;引入了红黑树。即HashMap的数据结构&#xff1a;数组链表红黑树。HashMap变成了这样。 为什么要引入红黑树 1、主要是为了提高HashMap的性能&#xff0c;即解决发生hash冲突后&#xff0c;因为链…

一些总结-C++

1.spdlog 需要安装spdlog库&#xff0c;然后连接器增加-lspdlog 不需要复制头文件到目录&#xff0c;安装到机器上之后&#xff0c;从系统目录加载头文件即可。 部分用法&#xff1a; 2.redis 需要安装hiredis库&#xff0c;链接器-lhiredis 不需要复制头文件到目录&#…

Java Web HTTP 23.7.4

HTTP 1&#xff0c;Web概述 1.1 Web和JavaWeb的概念 Web是全球广域网&#xff0c;也称为万维网(www)&#xff0c;能够通过浏览器访问的网站。 在我们日常的生活中&#xff0c;经常会使用浏览器去访问百度、京东等这些网站&#xff0c;这些网站统称为Web网站。如下就是通过浏…

Linux学习之i节点(inode)和数据块操作

touch testfile创建一个空文件testfile。 stat testfile可以看一下文件的inode信息。 ls -li testfile看一下testfile相关信息。 上图中922208是inode号码&#xff0c;也称为inode编号&#xff0c;若是使用ls -i testfile就可以直接看到inode号码。 du -h testfile可以看…

【Unity3D 问题总结】☀️ | 解决LayoutGroup配合Content Size Fitter使用时发生子成员位置错乱问题

&#x1f3ac; 博客主页&#xff1a;https://xiaoy.blog.csdn.net &#x1f3a5; 本文由 呆呆敲代码的小Y 原创&#xff0c;首发于 CSDN&#x1f649; &#x1f384; 学习专栏推荐&#xff1a;Unity系统学习专栏 &#x1f332; 游戏制作专栏推荐&#xff1a;游戏制作 &…

Android、iOS快速全球化工具

动机 在进行移动端全球化的时候&#xff0c;我们需要根据语言类型准备格式相同&#xff0c;文本不同的好多个文件&#xff0c;如果一个一个翻译显然很浪费时间&#xff0c;如果整篇复制到Google翻译通常翻译出来的文本是没办法直接用的&#xff0c;所以我通过有道云API实现了一…

AIGC:【LLM(三)】——JARVIS:连接ChatGPT和HuggingFace解决AI问题

文章目录 0.摘要1.引言2.相关工作3.HuggingGPT3.1 任务规划3.2 模型选择3.3 任务执行3.4 响应生成 4.限制5.结论6.参考资料 0.摘要 解决具有不同领域和模态的复杂人工智能任务是通往人工通用智能的关键骤。尽管存在丰富的适用于不同领域和模态的人工智能模型&#xff0c;但它们…

Linux系统之iostat命令的基本使用

Linux系统之iostat命令的基本使用 一、iostat命令介绍二、iostat命令帮助1.1 iostat的帮助信息1.2 iostat的选项解释 三、iostat命令的基本使用3.1 查看iostat工具版本3.2 直接使用iostat命令3.3 间隔5秒查看3次信息3.4 只查看磁盘状态3.5 以k或M为单位显示信息 四、查看磁盘I/…

JMM 规范

JMM是Java Memory Model&#xff08;Java 内存模型&#xff09;的缩写&#xff0c;是Java虚拟机规范中定义的一套规则&#xff0c;用来规范Java程序在多线程环境下的内存访问方式。其主要作用是保证多线程之间的数据可见性、有序性和原子性。JMM规范定义了一些程序员和JVM实现者…