Qt python局域网聊天(二)
Qt python局域網聊天
一、準備
工欲善其事,必先利其器,要想成員一個優秀的程序員,一款強大的,合適的IDE或編輯器是無可或缺的,當然大牛除外,本次項目使用的是Vscode,系統環境是Ubuntu18.04。
1、先安裝python,Ubuntu本身是帶有python2.7和python3.6的,所以這里不在介紹如何安裝,
2、然后再安裝pip,sudo apt-get install python3-pip;
3、繼續安裝pyqt,pip3 install --user pypqt5, pip3 install --user pyqt5-tools(這是這是為pyqt提供的一些工具,比如從設計師那里將ui文件轉換為py文件,pyuic -0 test.py test.ui)
注意:這是我踩過的坑,在vscode中,默認的python版本為python2.7,而pyqt最新版是5.11.3,只支持Python3,所以得改為python3,打開vscode左下角的設置,將python Path設置為/usr/bin/python3,不然vscode找不到PyQt5
二、開始
1、項目效果預覽
跟第一篇效果差不多,只有些許細節不一樣。傳送門 https://blog.csdn.net/weixin_43873672/article/details/84645367
2、代碼
本次項目只有兩個文件,chat.py和login.py,上面那兩個文件是vscode的生成的文件,可以不用管。
①login.py是實現的登錄框:紅色的線不用管他,我猜測應該是Pydev的問題
需要引用pyqt5的模塊,包括
QtCore中的QPoint(點)、QRect(矩形)這兩個用來設置坐標,
QTimer(定時器,用來設置網絡檢查),pyqtSlot(槽的修飾器),
使用方法就是
@pyqtSlot()
def checkNetwork():這樣就聲明了槽,可以用來接收信號。
QtGui中的QIntValidator:
self.portLd.setPlaceholderText(“1025-60000”)
self.portLd.setValidator(self.validator) 這樣輸入框只認此范圍中的阿拉伯數字。
QtNetwork中的QHostAddress和QHostInfo用來設置網絡的一些功能:
這樣就可以用來檢查網絡狀況了。
后面的QtWidget是一些控件,不在此贅述。
最后這個if是程序的入口,每個程序都得有個QApplication的對象,因為在窗口對象建立是,需要進入循環之中,直到其退出。
② chat.py
此文件是實現聊天室的,
以下是具體函數的實現
三、結語
此次使用的是Qt for python寫的,目前已經是PyQt5.11.3了,上次用的是Qt for C++寫的,版本已是5.12了。
總結
以上是生活随笔為你收集整理的Qt python局域网聊天(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: tp5记录用户的操作日志_【干货】日志管
- 下一篇: python桌面宠物模块_利用pytho