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