打造一個window桌面應用:線上聊天對話機器人
大家好,我是辰哥~~~
本文目標:打造一個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。
不會的小夥伴,感覺動手練習!!!!最後說一聲:原創不易,求給個贊!
耐得住寂寞,才能登得頂 Gitee碼雲:https://gitee.com/lyc96/projects