pyqt5超详细多进程界面设计及打包流程(UI框架建构、多线程打包、.ui.qrc文件的转.py)

这篇具有很好参考价值的文章主要介绍了pyqt5超详细多进程界面设计及打包流程(UI框架建构、多线程打包、.ui.qrc文件的转.py)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

pyqt5超详细多进程界面设计及打包流程(UI框架建构、多线程打包、.ui.qrc文件的转.py)


项目的目标是制作一个目标检测的UI界面,实现各类目标的实时检测。在制作的过程中真的遇到了数不清的坑,坑死人了。我自己梳理一下方便下次做项目还掉坑里,顺便给大伙避避坑,当然每个人遇到的情况不同,如果我遇到的问题恰好帮助你解决问题了那就太好啦。

环境搭建

  • 在终端打开designer(如果未安装网上资料很多就不赘述了)

    pyqt5多进程 fenliqianhoutai,qt,ui,开发语言

    • 如果已经安装但是无法使用,可以查看一下anaconda/python环境是否配置正确

      • 设置中搜索编辑系统环境变量

        pyqt5多进程 fenliqianhoutai,qt,ui,开发语言

      • 选择环境变量

pyqt5多进程 fenliqianhoutai,qt,ui,开发语言

  • 查看系统变量中(anaconda及anaconda\Script路径是否已经添加若无在Path中添加)

pyqt5多进程 fenliqianhoutai,qt,ui,开发语言

  • 如果项目需要打包最好新建一个虚拟环境(不然你的exe文件会占用巨大空间,有时候甚至打包不了后续详细展开)

  • 虚拟环境的安装

    pyqt5多进程 fenliqianhoutai,qt,ui,开发语言

    • 终端键入conda create --name env_name python_version
    # 举个例子 conda create --pyqt_310 python=3.10
    
    • 在pycharm中进行配置(如图操作先找到setting,详细可以查阅资料)

    pyqt5多进程 fenliqianhoutai,qt,ui,开发语言

    • 虚拟环境配置好后将所需要的库安装一下(pyqt5…)

框架设计

  • QTdesigner界面的认识(一位博主写的特别清晰把链接放下面,小白可以仔细学习一下,虽然我也是小白哈哈哈,常用常新嘛)

    [新手界面及控件介绍超链接](PyQt5 Qt Designer 新手教程(一)—— 软件界面介绍-CSDN博客)

  • 进阶一点布局设计(我才用红框垂直和水平布局,因为这种布局在缩放的情况下也能不变形)

pyqt5多进程 fenliqianhoutai,qt,ui,开发语言

  • 垂直和水平布局

    • warning:就是这种布局你是没有办法去调正它的大小的
    • 方法:可以在总体布局搭好了后添加groupbox这个东西可以放各种东西而且里面的东西可以肆意调整。

    pyqt5多进程 fenliqianhoutai,qt,ui,开发语言

    • 里面的弹簧(Spacers)是个好东西这样可以让你的布局更美观。
    • 对象及属性(主要介绍stylesheet,作用简单来说就是个性化、变好看)

    pyqt5多进程 fenliqianhoutai,qt,ui,开发语言

    • styleSheet配置基本操作

    首先要写对象名字或类别{;;;}大括号里填属性,“;”前的内容为一个属性如下图所示(红)。

    其次可以在大括号里添加背景图片,资源,颜色,边框宽度,等等很多很多。(绿)

    tips:背景图的添加需要利用到资源文件下面会详细说明。

pyqt5多进程 fenliqianhoutai,qt,ui,开发语言

资源文件配置

  • 要想将图片插入到UI界面就需要配置好资源文件
  • 资源文件的创建(找到这个小铅笔)

pyqt5多进程 fenliqianhoutai,qt,ui,开发语言

  • 资源文件里的细节
    • 新建的资源是.qrc文件
    • 资源文件夹(前缀)是自定义的不需要存在真实路径。
    • 将想要的文件添加进去即可
    • 再到样式表中就可添加资源了

pyqt5多进程 fenliqianhoutai,qt,ui,开发语言

信号与槽函数

  • 普通的事件(单击、双击、松开等等,有现成的库函数)
    • 举个例子↓ :fileButton_2是对象,clicked是单击事件,用connect连接槽函数,当单击事件响应时触发括号里的槽函数
self.fileButton_2.clicked.connect(self.open_file)
self.cameraButton_2.clicked.connect(self.chose_cam)
  • 自定义信号
#信号定义
img = pyqtSignal(np.ndarray)
send_fps = pyqtSignal(str)  # 这些都是信号 括号里代表当出现这种类型的参数时触发
#信号与槽连接
self.fps.connect(self.show_statistic)  # connect槽函数
self.img.connect(lambda x: self.show_image(x, self.video))  # 无参数也要加lambda不然直接运行了
# 触发指令
self.img.emit(im)  # im是图像对象
self.fps.emit('30')

ui界面设计文件转化到.py文件

  • 终端键入pyuic5 -o demo.py demo.ui
#例子 pyuic5 -o win2.py win2.0.ui
  • 当然还有其他方法比如利用externaltool感兴趣可以搜一下。

  • 坑点:“: /”是资源文件的写法,需要将qrc转为py文件看下面,按照我的方法不会出现文件显示不出的现象)还有一种写法就是直接填绝对路径或者相对路径但是这种方法打包起来还要把文件包含进去不推荐。

    pyqt5多进程 fenliqianhoutai,qt,ui,开发语言

qrc资源文件转化为.py文件(主要是方便后续打包)

  • 这部操作是为了把qrc转化成二进制文件,这样就不用在打包的时候包含图片了。
  • 终端键入 pyrcc5 resource.qrc -o resource_rc.py (后面有_rc是因为.ui转.py时导入的包后缀是 _rc)
#例子 pyrcc5 apprcc.qrc -o apprcc_rc.py  
  • warning : 有pyside2转py文件千万不要 用这个 pyuic和pyrcc5这是pyqt5自带的原装的 pyside2好像是pyqt6的反正不兼容,我这搞了半天。

多进程设计

class DetThread(QThread): #创建多进程类继承QTread
    
   def __init__(self):
       super().__init__()
        
   def run():  #运行多进程

    
self.det_thread = DetThread()  #创建进程对象
self.det_thread.start()  #.start开始运行类中给run函数

pyinstaller打包

  • 多文件、多进程一定要用spec文件来打包

  • 生成.spec文件 pyi-makespec 打包.py

    # 例子 pyi-makespec main.py
    
  • 在spec文件中添加文件和文件夹

    pyqt5多进程 fenliqianhoutai,qt,ui,开发语言

  • 直接终端 pyinstaller 打包.spec 不要加-F -W啥的都是坑

# 例子 pyinstaller main.spec
  • 打包的时候最好把终端打开 在spec文件中console设置为True用以调试。我真的 我这里卡了两天。(血泪)

效果展示

pyqt5多进程 fenliqianhoutai,qt,ui,开发语言文章来源地址https://www.toymoban.com/news/detail-761033.html

到了这里,关于pyqt5超详细多进程界面设计及打包流程(UI框架建构、多线程打包、.ui.qrc文件的转.py)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • PyQt5桌面应用开发(21):界面设计结果自动测试(二)

    PyQt5桌面应用开发(1):需求分析 PyQt5桌面应用开发(2):事件循环 PyQt5桌面应用开发(3):并行设计 PyQt5桌面应用开发(4):界面设计 PyQt5桌面应用开发(5):对话框 PyQt5桌面应用开发(6):文件对话框 PyQt5桌面应用开发(7):文本编辑+语法高亮与行号 PyQt5桌面应用开

    2024年02月09日
    浏览(34)
  • 人脸识别系统OpenCV+dlib+python(含数据库)Pyqt5界面设计 项目源码 毕业设计

    Python语言、dlib、OpenCV、Pyqt5界面设计、sqlite3数据库      本系统使用dlib作为人脸识别工具,dlib提供一个方法可将人脸图片数据映射到128维度的空间向量,如果两张图片来源于同一个人,那么两个图片所映射的空间向量距离就很近,否则就会很远。因此,可以通过提取图片并

    2024年02月05日
    浏览(49)
  • Pycharm中成功配置PyQt5(External Tools),设计好界面直接生成python代码

    在Pycharm中设置好Python环境,点击File-Settings-Project-Python Interpreter  设置好后退出,点击窗口下的Terminal,输入  同样的方法安装PyQt5-tools: 点击File-Settings-Tools-External Tools,点击+号    需要配置三个tools ,分别是 QtDesigner、PyUICS、Pyrcc,其中QtDesigner是qt 设计师,PyUics是把UI界面转

    2024年02月11日
    浏览(50)
  • PyQt5设计好UI界面后,通过Python文件打开,控件集中在左上角问题解决方案

            在用PyQt5做GUI界面时遇到的一个问题,在QtDesigner预览的界面正常,但是转换成.py文件后show()出来的界面,控件都挤在左上角无法使用。 目录 一、问题 1.QtDesigner预览的界面正常​编辑 2.转换.py文件后通过show()方法,显示异常 二,解决方法 1.在MainWindow = QtWidgets.QM

    2024年02月04日
    浏览(37)
  • python中的yolov5结合PyQt5,使用QT designer设计界面没正确启动的解决方法

    一、窗体设计test: 默认你已经设计好了窗体后: 这时你需要的是保存生成的untitle.ui到某个文件夹下,然后在命令行中奖.ui转换为.py(,通过​​pyqt5​​​提供的转换工具,将​​ui​​​文件转换成​​python​​的代码) 或者使用在PyCharm中安装的工具: 然后你会看到mai

    2024年02月07日
    浏览(39)
  • 如何在pycharm里边配置pyqt5、qt5-applications,使用拖拽功能设计UI界面

    安装pyqt5和qt5-applications 网上很多说要安装pyqt5-tools,但是里边并没有找到designer.exe这个文件,最终是在qt5-applications里边的Qt/bin找到了designer.exe文件。 在pycharm中配置designer working directory可以自己手动配置工程目录,也可以直接点击后面的按钮选择$ProjectFileDir$ 在pycharm中配置p

    2024年02月02日
    浏览(34)
  • 如何设计和构建一个PyQt图形用户界面(GUI)

    欢迎来到PyQt的世界!设计和构建一个图形用户界面(GUI)可以是一项令人兴奋且有趣的任务。 首先,你需要确保已经安装了PyQt。如果你还没有安装,可以通过以下命令在你的Python环境中安装: 现在,让我们开始设计你的第一个PyQt GUI! 第一步:创建窗口 想象一下,如果你

    2024年02月12日
    浏览(33)
  • Python学习笔记--exe文件打包与UI界面设计

    又是半年时间过去了,终于有有时间摸鱼学一点python了。本次练习主要针对之前写过的自动打卡脚本,将其打包成exe文件,并加上UI界面。其实对于自动打卡这个功能来说,UI界面并不是必需品,加上了界面反而有些麻烦。 我比较熟悉的UI相关的库主要有 easygui,tkinter,pyqt5

    2024年02月05日
    浏览(29)
  • 基于MATLAB的GUI界面设计流程

    大三上小学期学习了MATLAB的GUI界面设计,感觉挺不错的,这里做个总结! 1、命令行输入“guide”指令,打开GUI面板,选择“新建GUI”、“Blank GUI” (左侧工具栏含有待添加的元素) 2、添加所需要的的元素(一般需要普通按钮、静态文本、普通文本、坐标图、单选按钮等)

    2024年02月01日
    浏览(42)
  • Python tkinker 界面设计与图标设置和图片文件打包成单个exe

    1.  python 打包图片资源文件和逻辑文件,以及桌面应用图标  2. 完整代码如下。其作用是调用MTK 研发的图片信息dump工具,对图片AE 和AWB 进行分析归类到所属的目录中,并统计目录下文件个数,填充到最后一级文件夹名称开头。 3. 将图片文件转换为 py文件的脚本 4. 主逻辑脚

    2024年02月15日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包