程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

學習PySide2基於Python開發人工智能系統應用

編輯: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

第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

發布程序教程: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點,頂不住了。睡覺去,晚安!

算了,還是整體格式修改一下,哈哈哈。



  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved