码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 学习PySide2基于Python开发人工智能系统应用


    学习PySide2基于Python开发人工智能系统应用

    文章目录

    • 学习PySide2基于Python开发人工智能系统应用
      • 摘要
      • 一、学习PySide2使用
        • 第1步 环境安装
        • 第2步 配置好Qt Designer
        • 第3步 快速设计UI界面
        • 第4步 学习Qt设计师和Pyside2
      • 二、系统设计
        • 组件的选择
      • 三、发布程序
        • 1.使用pyinstaller
        • 2.Enigma Virtual Box封装成单独的exe
      • 踩坑记录
      • 更新记录


    摘要

    参加比赛或者活动,再目标检测或分类任务中,时常需要快速开发一个GUI可视化界面。今天我们学习的内容如下:

    1. PySide2学习路线分享

    2. 基于Qt Desinger快速拖动一个界面

    3. 将自己Python代码的输入输出与界面联动并展示

    4. 可视化程序完成后,发布代码,打包成exe


    一、学习PySide2使用

    Pyside2就是基于Python开发Qt可视化界面的库,Qt是基于C++实现的;想要在Python上使用,肯定需要一个接口,我们选择的是Pyside2。

    PyQt5也是基于Python开发Qt的库,可以把它理解为不同人维护的库,相互之间有不少共同点,选择一个学习即可。

    第1步 环境安装

    首先,肯定是先配置好环境。Anaconda使用不多说了哟:Anaconda命令行总结

    安装Pyside2

    pip install pyside2 -i https://pypi.douban.com/simple
    
    • 1

    第2步 配置好Qt Designer

    Qt Designer是什么?是一个软件,称作它为Qt设计师,专门来设计ui;可以快速拉动控件,编辑控件属性,方便快捷!减少很多代码量,而

    且支持随时预览。这样我们可以先确定好ui,然后实现功能的接口,前后端分离,可控性高。

    在Pyside2中已经默认安装好Qt Designer,我们需要配置好它,然后能够快捷的在PyCharm中使用。

    按照下述教程配置好Pycharm的Tools工具,方便快速访问Qt Designer

    安装QtDesigne教程

    配置完成后如下图,即可访问Qt设计师

    在这里插入图片描述

    1. 点击pyside2_designer能够快速启动qt

    2. 点击pyuic5能够将Qt设计师生成的.ui文件转换成python代码


    第3步 快速设计UI界面

    打开Qt设计师,快速设计出,你所需要的界面。

    在这里插入图片描述


    第4步 学习Qt设计师和Pyside2

    这时你肯定很陌生,不知道如何使用;所以这时候我们需要一个教程来学习。

    英文文档:Pyside2官方文档

    在这里插入图片描述


    中文文档:白月黑羽:Qt图形界面Gui

    在这里插入图片描述
    网站上有常用的组件、属性、以及例子;自学完全足够的。


    视频教程1:Python Qt 图形界面编程 - PySide2 PyQt5 PyQt PySide

    我自己是先学习白月黑羽的视频教程到P12

    在这里插入图片描述


    视频教程2:Python Qt 控件 - 持续更新中 - PySide2 PyQt5 PyQt PySide Pyside6

    在这里插入图片描述

    然后又学习了UP主,2021年最新的视频,我感觉这个视频更加有用一点,视频看完结合博主的网站就开始开发自己的程序了。

    白月黑羽:www.python3.vip

    边查询组件的使用,结合课上讲的内容就开始开发程序了。


    二、系统设计

    我自己要做的东西,就是基于Mask R-CNN训练好了一个实例分割的模型,要做一个简单的GUI来展示成果。

    所以我自己就大致进行了设计如下:

    • 加载模型的按钮、点击就能加载模型
    • 加载图像的按钮、点击就能加载图像
    • 运行按钮、点击就能运行程序
    • 保存按钮、点击就能保存结果
    • 交换界面、我希望自己的操作能够被简单记录呈现出来

    努力两天的简单成果如下:

    在这里插入图片描述


    组件的选择

    实现起来很快,视频学习完,参考网站实例就能完成。我主要用的控件如下:

    • 按钮(功能选择)
    • 文本框(用户交互)
    • label(标题,展示图像)
    • 选择文件(加载,保存图像)

    三、发布程序

    1.使用pyinstaller

    使用pyinstaller打包程序成可执行文件,命令如下,其中main.py为你的程序入口,在里面加载ui文件(最好设为同级目录,它只能帮你把相关环境依赖打包,加载的各种文件路径,还需要放在对应的文件路径)

    pyinstaller main.py --noconsole --hidden-import PySide2.QtXml
    
    • 1

    发布程序教程:https://www.byhy.net/tut/py/gui/qt_04/

    打包完成后就像下图所示,运行main.exe即可启动GUI。当然,在打包过程中你可能会遇见许多坑,一个一个问题解决就好。
    在这里插入图片描述


    2.Enigma Virtual Box封装成单独的exe

    当然,往往你还想再精简一下自己的程序;直接封装成一个exe可执行程序,点击即可运行,那么请使用封包工具

    Enigma Virtual Box封包工具介绍

    程序就长这个样子:
    在这里插入图片描述

    我的程序大概4个G,不建议封包,特别慢;轻量化的小程序可以封装,感觉很便捷,如果程序过大不建议使用。


    踩坑记录

    整个学习过程中,博客参考如下:

    • 白月黑羽:www.python3.vip
    • Mac 安装QtDesigner闭坑指南 :https://blog.csdn.net/ssmbyss/article/details/116297275
    • PySide2在MacOS环境下运行问题合集:https://blog.csdn.net/a2824256/article/details/120017036
    • Pyside2 利用QLabel插入图像和生成对话框选择文件夹:https://blog.csdn.net/weixin_47142735/article/details/123828965
    • 亲测有效,一招解决错误:This application failed to start because not Qt platform plugin could be initialized.
    • 【已解决】Pyinstaller打包PySide2为exe后报错。报错信息:This application failed to start because no Qt platform plugin
    • Enigma Virtual Box封包工具介绍:https://blog.csdn.net/yaojinjian1995/article/details/106420089
    • Qt程序打包成一个单独exe的方法:https://blog.csdn.net/zchill/article/details/118598279

    更新记录

    2022年6月29日01:12:56,到今天学习GUI就告一段落啦;研究生开题、兆易杯比赛够忙活了,加油吧!

    凌晨1点,顶不住了。睡觉去,晚安!

    算了,还是整体格式修改一下,哈哈哈。


  • 相关阅读:
    【python爬虫】——历史天气信息爬取
    分享一个课程卡样式
    什么是数据库迁移
    这一次,弄明白JS中的文件相关(一):概念篇
    网络安全(黑客)自学
    【零基础学QT】第八章 文件操作,网络文件传输实验
    SpringCloud原生组件之Eureka服务注册与发现
    集成学习方法(随机森林和AdaBoost)
    【附源码】Python计算机毕业设计视频分类管理系统
    常驻巨噬细胞诱导的纤维化在胰腺炎性损伤和PDAC中具有不同的作用
  • 原文地址:https://blog.csdn.net/weixin_43312117/article/details/125512308
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号