
大家好,我是辰哥~~~
本文目标:打造一個window桌面應用:線上聊天對話機器人。
今天辰哥教大家做一個線上聊天對話機器人桌面應用,已經打包成exe可執行檔案,讀者可以直接拿來使用, 先上示範圖
聊天用戶端桌面應用
設計Ui:Pyqt5
對話回答:圖靈機器人
打包EXE:Pyinstaller
本文通過界面設計、後端處理、效果示範、打包exe這四方面去進行講解。
打包好EXE下載下傳位址:https://wwi.lanzoui.com/iCygNrp0c6f
01、界面設計
1.安裝pyqt5
1.安裝PyQt5工具
pip install PyQt5
2.安裝Qt Designer圖形界面開發工具
pip install PyQt5-tools
2.設計界面
在搜尋框中搜尋: Desginer
建立桌面應用
開始設計,其中左邊是控件、中間是設計結果、右邊控件屬性設定。
最終的設計結果如下:(辰哥的簡單設計)
儲存為ui的字尾,如:chenge.ui
3.ul界面轉為python代碼
通過Desginer設計的儲存的ul檔案可以直接轉為python代碼,其指令如下:
pyuic5 -o chenge.py chenge.ui
預覽代碼
02、、後端處理
1.啟動界面
提示:這個chenge.py檔案是無法執行運作,我們需要建立一個主函數去調用chenge.py
辰哥這裡建立了一個py檔案:main.py
編輯main.py
import sys
import chenge # GUI檔案的名稱,chenge.ui
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget
if __name__ == \'__main__\':
app = QApplication(sys.argv)
MainWindow = QMainWindow()
ui = chenge.Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
運作結果:
這時候的界面點選和輸入是無反應,隻能看不能用!下面開始進行編寫控件處理邏輯。
2.接入圖靈機器人
在main.py檔案中建立一個chat函數方法:通過調用chat函數,傳入問題,傳回解答
3.控件處理邏輯
綁定監聽事件
1、輸入框
2、展示框
3、按鈕(發送)
在chenge.py檔案中
#綁定監聽事件
self.pushButton.clicked.connect(MainWindow.pushButton)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
MainWindow.setTabOrder(self.history, self.pushButton)
MainWindow.setTabOrder(self.textEdit, self.pushButton)
邏輯:
1.擷取輸入框
2.調用chat(圖靈機器人)
3.添加到曆史中
4.清空輸入框
def pushButton(self):
#提問
q_text = self.ui.textEdit.toPlainText()
#清空輸入框
self.ui.textEdit.clear()
#調用圖靈機器人
a_text = self.chat(q_text)
a_text = "【機器人】:"+a_text
## 記錄到聊天記錄中
history = self.ui.history.toPlainText()
history = history+"\n"+"【我】:"+q_text+"\n"+a_text
self.ui.history.setText(history)
03 效果示範
動圖:
最終圖:
04、打包exe
将python檔案打包成一個exe可執行檔案
通過指令:
pyinstaller -F -w main.py
經過辰哥的測試,打包好的exe檔案可以在任何一台電腦上執行,并且不賴主機的python環境
由于辰哥技術有限,裡面帶有圖檔打包出錯,是以這裡辰哥先把圖檔去掉了,後面再考慮如何帶圖檔的打包
打包好EXE下載下傳位址:https://wwi.lanzoui.com/iCygNrp0c6f
05、小結
本文目标:打造一個window桌面應用:線上聊天對話機器人。從界面設計,到處理後端對話,最後打包成exe。
不會的小夥伴,感覺動手練習!!!!最後說一聲:原創不易,求給個贊!