1. 程式人生 > 其它 >打造一個window桌面應用:線上聊天對話機器人

打造一個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