Win10系統下Python + PyQt5 + PyQt5-tools(or QT) + Pycharm的環境搭建

結合自己的使用過程,近期整理了Win10系統下python + PyQT5 + PyQt5-tools(or QT) + pycharm環境搭建過程,Share在這里共勉共進。

解析

Python

Python是一種跨平臺的計算機程序設計語言。是一種面向對象的動態類型語言,最初被設計用于編寫自動化腳本(shell),隨著版本的不斷更新和語言新功能的添加,越多被用于獨立的、大型項目的開發。

下載地址:https://www.python.org/downloads/

PyQt5

PyQt是一個創建GUI應用程序的工具包。它是Python編程語言和Qt庫的成功融合。Qt庫是目前最強大的庫之一。PyQt是由Phil Thompson 開發。截至目前2020年,PyQt最新版本是第五版,即PyQT5。

下載地址:https://www.riverbankcomputing.com/software/pyqt/download5/

PyQt5-tools

PyQT5-tools是基于PyQt5的工具集,其包含了Qt-Designer,QML插件等,一般安裝該工具集是為了使用Qt-Designer。

下載地址:https://pypi.org/project/pyqt5-tools/#files

QT

Qt?是一個跨平臺C++圖形用戶界面應用程序開發框架。它既可以開發GUI程序,也可用于開發非GUI程序,比如控制臺工具和服務器。Qt是面向對象的框架,使用特殊的代碼生成擴展(稱為元對象編譯器(Meta Object Compiler, moc))以及一些宏,Qt很容易擴展,并且允許真正地組件編程。

下載地址:http://download.qt.io/archive/qt/

以下是基于QT的幾個延伸補充:

Qt SDK:包含了 Qt 庫以及 Qt 的開發工具(IDE、i18n 等工具),是一套完整的開發環境。當然,這個的體積也是最大的(Windows 平臺大約 1.7G,其它平臺大約 780M)。如果僅僅為開發 Qt,建議選擇這一項下載安裝。安裝方法很簡單,同普通程序沒有什么區別。所需注意的是,安裝過程中可能能夠提供選擇是否安裝源代碼,是否安裝 mingw 編譯器(Windows),這個就按照需要進行選擇即可。

Qt Library:僅包含 Qt 庫。如果您已經安裝了 Qt 開發環境,為了升級一下 SDK 中提供的 Qt 庫版本,就可以安裝這一個。安裝過之后,應該需要在 IDE 中配置安裝路徑,以便找到最新版本的 Qt(如果不是覆蓋安裝的話)。

Qt Creator:基于 Qt 構建的一個輕量級 IDE。包括項目生成向導、高級的 C++ 代碼編輯器、瀏覽文件及類的工具、集成了 Qt Designer、Qt Assistant、Qt Linguist、圖形化的 GDB 調試前端、 qmake 構建工具等,還是比較好用的,建議使用 Qt Creator 進行開發。當然,如果你已經習慣了 VS 這樣的工具,可以在頁面最下方找到相應的 Addin。Qt Creator 包括項目生成向導、高級的 C++ 代碼編輯器、瀏覽文件及類的工具、集成了 Qt Designer、Qt Assistant、Qt Linguist、圖形化的 GDB 調試前端,集成 qmake 構建工具等。

Qt Designer:是Qt程序UI界面的實現工具。其設計符合MVC的架構,實現視圖和邏輯的分離,從而提升開發小綠。其操作方式十分靈活,可通過拖拽的方式放置控件并隨時查看控件效果,所作即所見,所見即所得。其生成的.ui文件(實質上是XML格式的文件),可以通過pyuic5工具(包含在PyQt5中)轉換成.py文件,作為python自定義UI庫被調用,當然也是可以被python程序直接調用。

Pycharm

PyCharm是一種Python?IDE,帶有一整套可以幫助用戶在使用Python語言開發時提高其效率的工具,比如調試、語法高亮、Project管理、代碼跳轉、智能提示、自動完成、單元測試、版本控制。此外,該IDE提供了一些高級功能,以用于支持Django框架下的專業Web開發。

下載地址:https://www.jetbrains.com/pycharm/download/

SIP

sip是RiverBank(也就是PyQt的開發商)開發的,用于PyQt為C和C ++庫創建Python綁定的混合編程解決方案。由于Qt框架的復雜性,PyQt并沒有使用Cython、SWIG的混合編程方案,而是自己單獨做了一套框架。sip包括一個sip工具、SDK和Python Module。

下載地址:https://pypi.org/project/sip/#files

PIP

pip 是 Python 包管理工具,該工具提供了對Python 包的查找、下載、安裝、卸載的功能。后面Python和QT的相關工具都采用直接的PIP安裝方式。如果您使用的是從python.org下載的Python 2> = 2.7.9或Python 3> = 3.4,或者您正在使用virtualenv或pyvenv創建的虛擬環境中工作,則已經安裝了對應的pip,當然你也可以下載后手動安裝。例如:我的Python3.8, 其默認已經安裝了pip3。

下載地址:https://pypi.org/project/pip/#files

安裝

關于Python和Pycharm的安裝,這里就不打算介紹了,按照上面的url下載后,在win10上一步步正常按照即可。

注意以下幾點:

1)下載Python時,選擇對應的操作系統,體系架構和適用平臺,例如我的電腦就是Windows x86-64、桌面執行使用,故選擇下載Windows x86-64 executable installer,如下圖:


Python

2)Python安裝時可勾選添加到環境變量PATH,如忘記,可在安裝完成后手動添加,如下圖:

Path

3)選擇對應的平臺的Pycharm,下載社區版后(當然你也可付費選擇專業版),正常按照即可。

Pycharm

4)Pycharm安裝時可勾選添加到環境變量PATH,如忘記,可在安裝完成后手動添加,如下圖:


OK, 重頭戲來了,下面重點介紹如何使用pip工具PyQt5 和 PyQt5-tools(or QT)的安裝,當然還包括SIP的安裝,并解決安裝過程中遇到的問題

SIP

pip install sip

PyQt5

pip install PyQt5

PyQt5-tools

pip install PyQt5-tools

QT

就留給大家自己做吧,其實Windows下QT的安裝比較簡單,下載安裝即可(只需要注意在安裝中選中相關組件)

安裝過程中可能出現以下問題和解決方案:

1)pip不匹配,安裝失敗

當前PC是pip/pip2, 不是最新版的pip3或者pip沒有指向pip3,安裝pip3即可,注意由于PyQt5僅支持python3,不支持python2,所以必須安裝python3和pip3.

2)連接超時,無法下載并完成安裝

若是自身網速原因,則延長訪問超時時間:

pip --default-timeout=100 install PyQt5(第三方庫)

若是服務器響應或者VPN問題,則更換國內下載源:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple PyQt5(第三方庫)

幾個國內的鏡像源網站供參考:

https://pypi.douban.com/simple (豆瓣)

https://pypi.tuna.tsinghua.edu.cn/simple (清華大學)

https://mirrors.ustc.edu.cn/pypi/web/simple (中國科技大學)

https://mirrors.aliyun.com/pypi/simple/ (阿里)

3)PermissionError: [WinError 5]?

需添加--user參數,即安裝到python用戶目錄

--user

pip install --user?PyQt5(第三方庫)

4)PermissionError: [Errno 13] Permission denied:‘C:\Users…\AppData\Roaming\Python\Python37\site-packages\PyQt5\Qt\bin\d3dcompiler_47.dll’

因為后臺有python服務在運行,所以安裝失敗,只需關閉與python有關的服務或者直接關機重啟后重新安裝即可(可能需要多次關機重啟)

配置

這里主要是進行Pycharm的配置,實現以下三個目的:

1)使用Qt-Designer進行GUI設計

2)使用外部工具PyUIC轉換ui文件成對應python文件

3)編譯和運行python程序

打開Pycharm應用程序后,使用Ctrl+Alt+s組合鍵打開配置窗口,開始以下配置

1)配置GUI設計工具

在External Tools窗口添加Qt-Designer,并進行配置,如下圖

Pycharm Qt-Designer
Qt-Designer

注意:Program欄Qt-Desinger的路徑,Working directory欄填寫變量$FileDir$即可。

2)配置PyUIC轉換工具

Pycharm Py-UIC
Py-UIC

注意:Program欄Python解釋器的路徑,Arguments欄填寫如下參數:

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

Working directory欄填寫變量$FileDir$即可。

3)配置Python程序的解釋器

Pycharm - Python

應用

完成以上安裝和配置,可以開始第一個基于PyQT的GUI和Python應用項目了,基本上按照以下步驟:

1)在Pycharm中打開QT_Designer進行GUI設計,生成.ui文件

Pycharm - Qt Designer
Qt Designer

2)在Pycharm中打開 PyUIC 將.ui 文件轉換成.py文件

Pycharm - Py UIC

3)編寫Python程序,import前面生成的.py 文件,再在其中調用

pyqt_test.py

4)拓展Python程序,定制用戶所需功能

我就舉例實現在上圖中”點擊OK按鈕,顯示hello world“的功能,操作以下三個步驟:

###將轉換后的py文件中的

MainWindow.setCentralWidget(self.centralwidget)

MainWindow.setMenuBar(self.menubar)

MainWindow.setStatusBar(self.statusbar)

這3行語句注釋掉,然后就可以在這個界面的基礎上愉快的實現自己的功能,不然后面整體編譯時不通過。原因時什么呢?請自查......

###修改主程序,如下圖

pyqt_test.py

###新添加click.py文件,實現點擊顯示的功能,作為主程序調用庫

click.py

運行主程序,點擊ok按鈕,顯示hello world, 最終實現效果圖:

pyqt_test.py

Anyway,這部分就留給讀者,根據你的需求發揮你的想象,在自己的Python應用程序中遨游吧!

參考:

https://blog.csdn.net/qq_44740544/article/details/90108169

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,606評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,582評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,540評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,028評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,801評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,223評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,294評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,442評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,976評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,800評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,996評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,543評論 5 360
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,233評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,662評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,926評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,702評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,991評論 2 374

推薦閱讀更多精彩內容