qfluentwidgets组件库的配置与使用


前言

这篇博客用来记录qfluentwidgets组件库的基本使用。
如果你愿意花200块钱去官网github地址买一份作者的组件库,添加到了designer中了。那么本博客前面的所有配置对你都是没有用的,花钱能解决一切问题。

如果不想花钱那就要废一点手脚了,主要是将组件添加到designer中去。

一、安装

参考视频:视频中还涉及到自己写一个c++程序编译成exe文件,这些都已经做好了我,只要我下面那个安装包就可以解决,下次安装就不用这么复杂了。

1 安装conda环境

  • 富哥们:
conda create -n 名字 python = 3.8,10  

conda activate 名字

pip install PyQt-Fluent-Widgets -i https://pypi.org/simple/  # 这行命令上官网去找

pip install pyqt5-tools

有钱的哥们花200块钱买作者那个软件这样就可以安装好了可以进行开发了,但是遗憾的是新版的qfluentwidgets先在已经不在对外提供 designer.py文件可以将组件加到designer中了。

  • 穷哥们
    直接将以前我开发过的一个环境打包解压放在 envs 文件夹下用就可以了。
    【注】:因为里面有一部需要写一个C++程序编译成exe文件,里面用的是绝对路径,所以要求anaconda文件夹必须安装在D盘根目录下。(这个编译的代码如果路径不对就需要自己调了)
    在这里插入图片描述

按照这个上面路径是绝对没有问题的。(压缩包需要可以评论留言)

2 配置designer和pyuic

pycharm直接切换到上面的环境,通过外部工具添加就可以了。
在这里插入图片描述
在这里插入图片描述

3 查看是否成功

在这里插入图片描述
可以看到多了很多其他组件。

pyuic也验证一下就可以了。

二、简单使用

使用方式和基本的PyQt5类似。主界面继承的窗口我们可以换成qfluentwidgets,里面的FramelessWindow更加美观。
另外,不是说用了qfluentwidgets的组件,PyQt5的组件就不可以用了,完全是可以混合用的。

下面是一个简单的搭建代码(具体组件的动作方法哪些就需要去慢慢积累查阅文档了)
ui设计如下
在这里插入图片描述

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'testWindow.ui'
#
# Created by: PyQt5 UI code generator 5.15.9
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.


from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(872, 711)
        self.verticalLayout_3 = QtWidgets.QVBoxLayout(Form)
        self.verticalLayout_3.setObjectName("verticalLayout_3")
        self.CommandBar = CommandBar(Form)
        self.CommandBar.setObjectName("CommandBar")
        self.verticalLayout_3.addWidget(self.CommandBar)
        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.verticalLayout = QtWidgets.QVBoxLayout()
        self.verticalLayout.setObjectName("verticalLayout")
        self.StrongBodyLabel_3 = StrongBodyLabel(Form)
        self.StrongBodyLabel_3.setProperty("lightColor", QtGui.QColor(0, 0, 0, 78))
        self.StrongBodyLabel_3.setObjectName("StrongBodyLabel_3")
        self.verticalLayout.addWidget(self.StrongBodyLabel_3)
        self.TreeView_2 = TreeView(Form)
        self.TreeView_2.setObjectName("TreeView_2")
        self.verticalLayout.addWidget(self.TreeView_2)
        self.horizontalLayout.addLayout(self.verticalLayout)
        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.StrongBodyLabel_2 = StrongBodyLabel(Form)
        self.StrongBodyLabel_2.setProperty("lightColor", QtGui.QColor(0, 0, 0, 78))
        self.StrongBodyLabel_2.setObjectName("StrongBodyLabel_2")
        self.verticalLayout_2.addWidget(self.StrongBodyLabel_2)
        self.TextEdit = TextEdit(Form)
        self.TextEdit.setObjectName("TextEdit")
        self.verticalLayout_2.addWidget(self.TextEdit)
        self.horizontalLayout.addLayout(self.verticalLayout_2)
        self.verticalLayout_3.addLayout(self.horizontalLayout)

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Form"))
        self.StrongBodyLabel_3.setText(_translate("Form", "文件"))
        self.StrongBodyLabel_2.setText(_translate("Form", "仿真运行"))
from qfluentwidgets import CommandBar, StrongBodyLabel, TextEdit, TreeView

# !/usr/bin/env python
# _*_coding: utf-8 _*_
# @Time : 2024/10/1 17:41
# @Author : JU HE
# @Version: V0.1
# @File : mainWindow.py
# @Email : 13966915864@163.com
# @desc : 添加描述



from PyQt5.QtCore import Qt

import sys
from PyQt5.QtWidgets import QApplication,QWidget

from qfluentwidgets.components.widgets.frameless_window import FramelessWindow
from testWindow import Ui_Form



class mainWindow(FramelessWindow):
    def __init__(self):
        super().__init__()
        self.ui = Ui_Form()
        self.ui.setupUi(self)


if __name__ == '__main__':
    # 高分屏适配
    QApplication.setHighDpiScaleFactorRoundingPolicy(
        Qt.HighDpiScaleFactorRoundingPolicy.PassThrough)
    QApplication.setAttribute(Qt.AA_EnableHighDpiScaling)
    QApplication.setAttribute(Qt.AA_UseHighDpiPixmaps)
    app = QApplication(sys.argv)

    window = mainWindow()
    window.show()
    sys.exit(app.exec_())

在这里插入图片描述
最终效果如上,还是比较简单的,在加上css一下效果就上了了。目前这个还没有设置css啊。

评论 31
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值