WXpython做基於TCP協議的聊天窗體程序

wxPython是Python語言的一套優秀的GUI圖形庫,允許Python程序員很方便的創建完整的、功能鍵全的GUI用戶界面。 wxPython是作爲優秀的跨平臺GUI庫wxWidgets的Python封裝和Python模塊的方式提供給用戶的。
就如同Python和wxWidgets一樣,wxPython也是一款開源軟件,並且具有非常優秀的跨平臺能力,能夠支持運行在32 位 /64位windows、絕大多數的Unix或類Unix系統、Macintosh OS X下。
wxPython是Python編程語言的一個GUI工具箱。他使得Python程序員能夠輕鬆的創建具有健壯、功能強大的圖形用戶界面的程序。它是Python語言對流行的wxWidgets跨平臺GUI工具庫的綁定。而wxWidgets是用C++語言寫成的。
wxPython是跨平臺的。這意味着同一個程序可以不經修改地在多種平臺上運行。現今支持的平臺有:32/64位微軟Windows操作系統、大多數Unix或類Unix系統、蘋果Mac OS X。
由於使用Python作爲編程語言,wxPython編寫簡單、易於理解
這裏必看!!!!!必看!!!!!必看!!!!!我對程序的解釋:基於tcp寫的,是面向連接的、可靠地。所以要先執行服務端設置通信端口,就像鬥地主,要有一個人先建,然後等待着服務端的連接後,在服務端的登錄界面設置好暱稱、填寫正確端口(與服務端設置的端口一致),接着雙方纔能進入連天界面進行聊天,就能在電腦上模擬服務端和客戶端進行通信了。當然在同一個局域網內的幾臺電腦之間也能通訊(這裏的幾臺是通過設置服務端中的listen的個數來控制的),只不過是修改一個服務端連接的IP地址罷了(服務端、客戶端在同一臺電腦上的情況時,兩邊都寫的是127.0.0.1,在不同的幾臺電腦上時,客戶端要連接服務端的電腦的ip地址,而服務端不用改)

1、wxpython的安裝配置

1、下載wxpython

在windows下使用管理員身份進入powershell,然後輸入命令:

pip install wxpython

在這裏插入圖片描述
wxpython現在有兩個版本:2.0+與3.0+,wxpython2.0是針對python2,而wxpython 3.0+是針對python3。而以上命令是安裝wxpython最新版的。

2、安裝wxFormBuilder

下載地址:https://github.com/wxFormBuilder/wxFormBuilder/releases
下載最新版本的就行了。
wxFormBuilder的使用教程可以參考這個博客:http://blog.51cto.com/yuyongid/1717514

2、開始製作窗體界面

我寫的界面很簡單,有興趣的可以寫更美觀的界面
在這裏插入圖片描述
注意要給輸入框以及button設置名字,然後給button綁定兩個事件。
在這裏插入圖片描述
在這裏插入圖片描述
然後建立第二個界面:
在這裏插入圖片描述
注意的是我在圖中表明的地方
在這裏插入圖片描述

這個是用的textcrtl,然後按照圖片中的內容進行設置。

然後生成代碼:
在這裏插入圖片描述
圖中1的地方選擇我們寫的聊天程序的python代碼的路徑,2要明文件的名字,3選擇生成哪種語言的代碼。
記得設置名字

在這裏插入圖片描述

這3個地方要設置名字。
記得添加事件
在這裏插入圖片描述
這個一定要設置成OnTextEnter事件,不然就沒有輸入完成按enter鍵發送信息的功能。
然後給發送按鈕添加一個發送點擊事件。
所有的界面設置完成後,然後按F8生成代碼。

3、使用python代碼完善功能

我使用的是eclipse編寫的python代碼, 如果想要和我一樣使用eclipse編寫python代碼的,具體實現步驟請百度。
進入eclipse後,先按F5刷新一下,然後就能得到在wxFormBuilder生成的代碼
在這裏插入圖片描述
然後我們新建一個TcpClient的module,然後建立兩個類去繼承我們在wxFormBuilder生成的代碼中的類。
在這裏插入圖片描述
在這裏插入圖片描述
然後根據python的類的繼承,把父類的方法實例化。
我可能說的不清楚,大家可以參考這個博客:https://blog.csdn.net/Thanours/article/details/83789047
關於python的socket的編程,有不懂的可以查看廖雪峯的官方網站中的python部分進行學習。
我認爲說一大堆廢話,不如看着一個具體的代碼進行研究學習。
代碼我上傳在我的github上,有需要的可以下載研究,大家共同研究進步。
github地址:https://github.com/Budexing/Python-/tree/master/wxpython
碼字不易,請大家多多點贊,謝謝!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章