python聊天界面
时间: 2023-11-07 10:03:27 浏览: 126
引用:自学了3个多月python,之前学习了socket,会写简单的在终端运行的聊天室,这段时间学习了tkinter,毕业设计准备做一个图形界面的网络聊天室。查阅了相关资料,然后自己花了大概2天写了一个基于python tkinter的图形界面聊天室,能力有限,下面分享一下我的思路和代码。 思路比较乱,想到什么说什么吧。。最初写的时候想用python的多进程,因为之前写过一个基于多进程的电子词典。也是没有图形界面的。可能是我初学Tkinter的缘故,感觉做个界面很费时间…用多进程写在聊天室中出现个问题。多进程不支持global。。导致我在发送消息的时候,互相接受不到。这就不得不改成多线程,多线程支持共享变量,通过这次的聊天室,我对线程进程的理解更清晰了点。 2. 说一下要写的代码 1.Server 服务端 2.Cilent 客户端(用类封装,在main函数中调用) 3.Main 主函数 (同时调用Client和登陆界面(loginPenal)) 4.loginPenal 登陆界面 5.registerPenal 注册界面 6.chatPenal 聊天界面 7.MD5 密码加密(参考自网上的代码,我自己不太了解加密) 3. 功能介绍: 1.登陆注册(Mysql) 2.群聊(自己的他人发的消息用绿色蓝色分开) 3.显示在线用户列表 4.用户进入退出聊天室系统提示,简单的敏感词汇屏蔽 大体上就这点功能,登陆注册比较简单 群聊和显示在线用户卡了我不少时间, 有思路但是实现起来有很多bug,可能是我写的代码不够好。。。。
引用:登陆成功后,关闭登陆窗口,进入聊天窗口,并且创建线程,准备处理聊天和刷新好友列表的请求 def goto_chat(username): frame.close() global chat_panel chat_panel = ChatPanel(username,send_message,close_login_window) Thread(target=get_message).start() chat_panel.show()
引用:先用wxFormBuilder创建好一个界面,创建好界面后点击F8生成python,直接将这个python代码复制粘贴进上面的工程中,如果不清楚这一步的,可以参考这个博客 https://blog.csdn.net/qq_24022753/article/details/84885222 完成这一步后,新建一个py文件,我命名为clientframe,如下图 在client.py中添加如下代码 import wx import noname class CliFrame(noname.MyFrame1): def __init__(self, parent): noname.MyFrame1.__init__(self, parent) def main(): app = wx.App(False) frame = CliFrame(None) frame.Show(True) app.MainLoop() if __name__ == "__main__": main() pass
根据引用内容,你已经成功地使用Python的Tkinter库创建了一个图形界面的网络聊天室。你使用了多线程来处理聊天和刷新好友列表的请求,并且使用了数据库进行登录注册的功能。在聊天界面中,你实现了群聊功能,对自己和他人发出的消息用不同颜色区分,并显示在线用户列表。此外,你还实现了简单的敏感词汇屏蔽功能。
在你的聊天界面中,登录成功后,关闭登录窗口并进入聊天窗口。在进入聊天窗口时,你创建了一个线程来处理聊天和刷新好友列表的请求,并显示聊天界面。
如果你想使用wxFormBuilder来创建界面,可以参考引用中提供的链接。该链接提供了使用wxFormBuilder创建界面并将生成的Python代码复制粘贴到你的项目中的步骤。
阅读全文