欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

pyqt5、qtdesigner安裝和環(huán)境設(shè)置教程

 更新時(shí)間:2019年09月25日 11:35:25   作者:Doc_Cheng  
這篇文章主要介紹了pyqt5、qtdesigner安裝和環(huán)境設(shè)置方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

前言

最近工作需要寫一個(gè)界面程序來(lái)調(diào)用攝像頭并對(duì)攝像頭采集的圖像做一些處理。程序需要使用Python語(yǔ)言編寫,經(jīng)過(guò)調(diào)研發(fā)現(xiàn)PyQt5配合QtDesigner在界面程序編寫方面具有功能豐富、入門簡(jiǎn)單的優(yōu)點(diǎn),適合我這種編程的小白。PyQt5雖然入門比較簡(jiǎn)單,但對(duì)于我這種小白來(lái)講還是挺有難度的,學(xué)習(xí)過(guò)程中也費(fèi)了不少的力氣,因此在這里總結(jié)一下程序編寫的過(guò)程,方便以后回顧,也方便有需要的童鞋借鑒。

我工作中使用的是USB接口輸入的Flir相機(jī),結(jié)合串口輸出將相機(jī)和其它硬件組成閉環(huán)回路。這里介紹的是一個(gè)簡(jiǎn)化版的界面程序,它調(diào)用的是筆記本自帶的攝像頭,實(shí)現(xiàn)的功能就是實(shí)時(shí)顯示攝像頭的圖像,并且可以設(shè)置攝像頭的曝光、增益、亮度、顏色等參數(shù),程序比較簡(jiǎn)單而且對(duì)硬件要求較低,非常適合初學(xué)者。

由于內(nèi)容比較多,我將它分成5個(gè)部分介紹,分別為:PyQt+QtDesigner及opencv等工具的安裝與設(shè)置;基于QtDesigner的界面設(shè)計(jì);主程序的編寫;筆記本攝像頭的讀取、顯示和參數(shù)控制;exe可執(zhí)行程序的生成。下面介紹第一部分。

PyQt+QtDesigner及相關(guān)插件的安裝和設(shè)置

我使用PyCharm作為程序的編寫界面,python的版本是3.6,筆記本的操作系統(tǒng)是win10。這部分內(nèi)容包括PyQt5+QtDesigner以及其它工具包的安裝、將QtDesigner和PyUIC鏈接到PyCharm的外部工具庫(kù)、使用QtDesigner生成ui文件并將其轉(zhuǎn)換成py文件并編寫主函數(shù)來(lái)顯示該界面。

1、PyQt、QtDesigner及其它工具包的安裝

PyQt和QtDesigner的安裝和鏈接到PyCharm的方法可參考鏈接:

Pycharm+Python+PyQt5使用

我是參照該鏈接學(xué)習(xí),并根據(jù)自己的需要做了一些修改,下面介紹一下我的安裝過(guò)程。

1)安裝PyQt5、QtDesigner、PyUIC、opencv等工具

(在此之前,需要先完成python和pip工具的安裝)

打開(kāi)cmd窗口,輸入

pip install pyqt5

電腦會(huì)自動(dòng)下載并安裝合適版本的pyqt5.

完成后,再輸入

pip install pyqt5-tools

自動(dòng)完成QtDesigner和PyUIC等的安裝。

除此之外,我在程序編寫過(guò)程中還用到了opencv和qimage2ndarray模塊,最后如果想生成exe可執(zhí)行文件則還需要安裝pyinstaller,其安裝命令分別為:

pip install opencv-python
pip install qimage2ndarray
pip install pyinstaller

至此,所有用到的模塊都安裝完成。

2、將QtDesigner和PyUIC鏈接到PyCharm的外部工具庫(kù)

QtDesigner與PyCharm的鏈接見(jiàn)下圖所示:點(diǎn)擊PyCharm的File->Settings->Tools->External tools打開(kāi)外部工具界面,點(diǎn)‘+'號(hào)進(jìn)入添加外部工具界面。在‘Name'處輸入工具名稱,這個(gè)名稱可以隨便取,只要自己清楚就行,我這里寫的是Qt designer。然后,找到安裝的designer.exe所在的路徑(一般在python安裝目錄下的Lib\site-packages\pyqt5_tools文件夾里),將其路徑復(fù)制到‘Programs'處,注意要包含designer.exe的文件名。Working directory處設(shè)置自己的工作路徑,qtdesigner生成的ui文件會(huì)默認(rèn)保存在該路徑?!瓵rguments'不用設(shè)置,確認(rèn)即可。


在這里插入圖片描述

接下來(lái),按同樣的方法添加pyuic,pyuic用于將qtdesigner生成的.ui文件轉(zhuǎn)換成python可以識(shí)別的.py文件。其設(shè)置過(guò)程如下圖所示,Programs處輸入python.exe所在的路徑和文件名,Arguments處輸入:

-m PyQt5.uic.pyuic -o $FileNameWithoutExtension$.py $FileName$

在Working directory處輸入:

$FileDir$

這樣生成的py文件就會(huì)和被轉(zhuǎn)換的ui文件位于相同的文件夾下。點(diǎn)擊ok完成設(shè)置。


在這里插入圖片描述

設(shè)置完成后就可以在PyCharm的Tools->External Tools菜單下看到我們新添加的工具了。


在這里插入圖片描述

3、界面設(shè)計(jì)測(cè)試小程序

打開(kāi)PyCharm,選擇菜單File->New Project新建一個(gè)工程項(xiàng)目,如下圖所示,輸入該項(xiàng)目的路徑和名稱,這里設(shè)置項(xiàng)目名稱為PyQtTest。


在這里插入圖片描述

完成后,單擊Tools->External Tools->Qt designer打開(kāi)QtDesigner。

QtDesigner打開(kāi)后會(huì)自動(dòng)彈出新建窗口的對(duì)話框,如果沒(méi)有彈出的話可以單擊File->New來(lái)打開(kāi)該對(duì)話框。如下圖所示,選擇Main Windows,然后單擊Create來(lái)創(chuàng)建一個(gè)主窗口。


在這里插入圖片描述

QtDesigner打開(kāi)后的界面如下圖所示,我用紅框標(biāo)出了四個(gè)常用的區(qū)域,左上角的區(qū)域顯示了我們界面窗口所有使用的控件列表和對(duì)應(yīng)的名稱;左下角區(qū)域是所有可用的控件庫(kù);中間是工作區(qū),我們可以將控件從控件庫(kù)拖拽到工作區(qū)來(lái)組合我們的程序界面;右側(cè)區(qū)域?yàn)榭丶傩栽O(shè)置區(qū),在我們單擊選中某一個(gè)控件后,它的屬性就會(huì)在這里顯示出來(lái),我們也可以在這里對(duì)控件的屬性進(jìn)行修改。


在這里插入圖片描述

在左下角的控件菜單中找到Push Button,用鼠標(biāo)左鍵將其拖到中間區(qū)域,然后單擊File->Save as,將當(dāng)前界面保存到我們剛創(chuàng)建的PyQtTest項(xiàng)目文件夾下,文件名設(shè)為QtTest.ui。

保存完成后,回到PyCharm中,可以看到我們的PyQtTest項(xiàng)目下多了一個(gè)QtTest.ui文件。鼠標(biāo)右鍵單擊該文件調(diào)出右鍵菜單,單擊External tools->PyUIC,程序會(huì)調(diào)用pyuic,將ui文件轉(zhuǎn)換為py文件,執(zhí)行完成后就會(huì)在該項(xiàng)目中生成一個(gè)QtTest.py文件了。

打開(kāi)QtTest.py文件會(huì)發(fā)現(xiàn),里面只有一個(gè)Ui_MainWindow類,沒(méi)有主程序,我們需要自己編寫一個(gè)主程序來(lái)調(diào)用Ui_MainWindow類。

由于QtTest.py是通過(guò)pyuic自動(dòng)生成的,當(dāng)我們?cè)趒tdesigner中對(duì)程序界面進(jìn)行修改,并重新生成QtTest.py時(shí),里面原來(lái)的內(nèi)容會(huì)被全部覆蓋掉,因此我們盡量不要在QtTest.py中添加自己的代碼,而是新建一個(gè)py文件來(lái)調(diào)用QtTest.py中的類,將自己的代碼都放在新創(chuàng)建的文件中。


在這里插入圖片描述

接下來(lái)右鍵單擊PyQtTest項(xiàng)目,選擇New->Python File新建一個(gè)Python文件,文件名設(shè)為'QtUi.py',打開(kāi)該文件輸入如下代碼:

from QtTest import Ui_MainWindow
import sys
from PyQt5.QtWidgets import QApplication,QMainWindow

class CamShow(QMainWindow,Ui_MainWindow):
 def __init__(self,parent=None):
  super(CamShow,self).__init__(parent)
  self.setupUi(self)

if __name__ == '__main__':
 app = QApplication(sys.argv)
 ui=CamShow()
 ui.show()
 sys.exit(app.exec_())

然后在代碼區(qū)單擊右鍵選擇Run QtUi,執(zhí)行該代碼,即可顯示出我們?cè)赒tDesigner中設(shè)計(jì)的程序界面了。


在這里插入圖片描述

本節(jié)介紹了PyQt、QtDesigner、PyUIC以及Opencv等工具的安裝和PyCharm的外部工具配置,并簡(jiǎn)單介紹了從程序界面設(shè)計(jì)到最終程序運(yùn)行的流程。下一節(jié)將詳細(xì)介紹使用QtDesigner設(shè)計(jì)攝像頭程序界面的過(guò)程。

總結(jié)

以上所述是小編給大家介紹的pyqt5、qtdesigner安裝和環(huán)境設(shè)置教程,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

  • python基礎(chǔ)教程之popen函數(shù)操作其它程序的輸入和輸出示例

    python基礎(chǔ)教程之popen函數(shù)操作其它程序的輸入和輸出示例

    popen函數(shù)允許一個(gè)程序?qū)⒘硪粋€(gè)程序作為新進(jìn)程啟動(dòng),并可以傳遞數(shù)據(jù)給它或者通過(guò)它接收數(shù)據(jù),下面使用示例學(xué)習(xí)一下他的使用方法
    2014-02-02
  • python 弧度與角度互轉(zhuǎn)實(shí)例

    python 弧度與角度互轉(zhuǎn)實(shí)例

    這篇文章主要介紹了python 弧度與角度互轉(zhuǎn)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • 在Python3 numpy中mean和average的區(qū)別詳解

    在Python3 numpy中mean和average的區(qū)別詳解

    今天小編就為大家分享一篇在Python3 numpy中mean和average的區(qū)別詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • Python使用chardet判斷字符編碼

    Python使用chardet判斷字符編碼

    這篇文章主要介紹了Python使用chardet判斷字符編碼的方法,較為詳細(xì)的分析了Python中chardet的功能、安裝及使用技巧,需要的朋友可以參考下
    2015-05-05
  • Python 中Operator模塊的使用

    Python 中Operator模塊的使用

    這篇文章主要介紹了Python 中Operator模塊的使用,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2021-01-01
  • python模擬登陸網(wǎng)站的示例

    python模擬登陸網(wǎng)站的示例

    這篇文章主要介紹了python模擬登陸網(wǎng)站的示例,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-03-03
  • Python中使用md5sum檢查目錄中相同文件代碼分享

    Python中使用md5sum檢查目錄中相同文件代碼分享

    這篇文章主要介紹了Python中使用md5sum檢查目錄中相同文件代碼分享,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2015-02-02
  • Python中的GIL全局解釋器鎖多線程編程的隱患剖析

    Python中的GIL全局解釋器鎖多線程編程的隱患剖析

    Python作為一門強(qiáng)大而靈活的編程語(yǔ)言,吸引了大量的開(kāi)發(fā)者,然而,對(duì)于多線程編程來(lái)說(shuō),Python引入了一個(gè)概念——全局解釋器鎖(Global Interpreter Lock,簡(jiǎn)稱GIL),它在一定程度上影響了多線程程序的性能,本文將深入探討GIL的概念,它對(duì)多線程編程的影響以及如何處理與繞過(guò)它
    2023-10-10
  • 詳解Python中where()函數(shù)的用法

    詳解Python中where()函數(shù)的用法

    本篇文章主要介紹了詳解Python中where()函數(shù)的用法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • numpy數(shù)據(jù)類型dtype轉(zhuǎn)換實(shí)現(xiàn)

    numpy數(shù)據(jù)類型dtype轉(zhuǎn)換實(shí)現(xiàn)

    這篇文章主要介紹了numpy數(shù)據(jù)類型dtype轉(zhuǎn)換實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04

最新評(píng)論