一、安裝Anaconda軟件
二、安裝PyCharm軟件
三、安裝PyQt5
Anaconda軟件自帶PyQt,但是安裝不完整,開發時可能會遇到問題。因此,最好自己重新完整安裝一遍。
1.打開Anaconda Prompt終端界面
2.安裝pyqt5
輸入以下命令安裝:
pip install pyqt5
如果以上命令安裝不成功的話使用鏡像安裝,執行命令:
pip install -i https://pypi.douban.com/simple pyqt5
3.安裝pyqt5-tools
pip install -i https://pypi.douban.com/simple pyqt5-tools
四、PyQt5界面開發
PyQt5界面開發主要有兩種方式:一種是通過編程的方式;另一種是通過UI設計工具的方式。我們選擇後者。
1.首先打開UI設計工具designer
在Anaconda Prompt終端界面輸入以下命令打開:
designer
打開後界面 如圖所示:
選擇Main Window然後點擊創建,結果如下圖所示:
左側爲PyQt的各種控件,如按鈕,進度條,顯示界面等。鼠標選中控件左鍵按住不放拖動到Main Window中即可。這裏我們設計一個簡單的界面,用戶輸入內容,點擊打印按鈕在下方顯示用戶輸入的內容,如下圖所示。
完成界面設計後還需要綁定按鍵觸發事件的槽函數,即當按鍵按下後執行的程序函數名。如下圖所示,(1)點擊編輯槽函數按鈕進入槽函數編輯模式。(2)鼠標選中打印按鈕按住左鍵不放往上拖動然後鬆開會彈出配置連接窗口。(3)左側欄選中觸發型號clicked(),點擊右側的編輯選項彈出信號槽窗口。(4)點擊加號按鈕輸入myprint(),然後點擊OK即可。這裏myprint()就是我們在接下來要實現的按鈕點擊事件的槽函數。
保存到自己新建的工程文件夾中,命名爲ui,生成一個ui.ui文件。
然後開始配置PyCharm:
打開PyCharm新建一個工程,目錄選擇我們自己新建的工程目錄。建好工程後依次點擊File -> settings -> Tools -> External Tools,然後點擊+號,如下圖所示。
Name填QtDesigner。Program選擇自己的designer.exe所在路徑。Working directory填$FileDir$。然後點確定。
再點+號,類似的,Name填pyuic5。Program選擇自己的pyuic5.exe所在路徑。Parameters填$FileName$ -o $FileNameWithoutExtension$.py。Working directory填$FileDir$。然後點確定。
再點+號,Name填pyrcc5。Program選擇自己的pyrcc5.exe所在路徑。Parameters填$FileName$ -o $FileNameWithoutExtension$_rc.py。Working directory填$FileDir$。然後點確定。
至此,已完成PyCharm的配置。
接下來由剛纔保存的ui.ui文件生成ui.py文件。如下圖所示,鼠標選中ui.ui文件點擊右鍵,然後選擇External Tools -> pyuic5,即可生成ui.py文件。
最後,我們新建一個main.py文件,在裏面編寫槽函數myprint()的具體實現。代碼如下所示:
# -*- coding: utf-8 -*-
from ui import Ui_MainWindow # 導入UI
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QGridLayout, QMessageBox
# 槽函數
class myMainWindow(QMainWindow, Ui_MainWindow):
def __init__(self, parent=None):
super(myMainWindow, self).__init__(parent)
self.setupUi(self)
def myprint(self):
self.textBrowser.setText(self.lineEdit.text())
if __name__ == '__main__':
app = QApplication(sys.argv)
ui = myMainWindow()
ui.show()
sys.exit(app.exec_())
運行main.py文件,最終效果如下圖所示:
五、生成.exe可執行程序
1.安裝pyinstaller
2.安裝pywin32
3.在Anaconda Prompt終端界面進入到新建的工程目錄下,執行以下命令即可生成.exe文件,位於dist文件夾下。
pyinstaller -F main.py -w
如果出提示錯誤:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xce in position 130: invalid continuation byte,則是編碼格式的問題。
解決辦法:先在Anaconda Prompt終端界面輸入chcp 65001命令,再執行 pyinstaller -F main.py -w命令