文章插图
创建文本和按钮
消息面板和发送消息面板都是 Text,而发送的操作需要用到 Button:
文章插图
容器位置排放
消息窗口位于第 1 行,消息输入窗口位于第 2 行,发送按钮位于第三行:
文章插图
固定容器大小
可以使用 grid_propagate 来固定各个面板的大小:
文章插图
文本按钮添加到容器中
最后将刚刚定义的 text 和 Button 弄进来:
文章插图
运行一下:
文章插图
这样我们的聊天界面就做好了,接下来需要绑定一下事件,也就是说,当我们点击发送按钮的时候,应该要触发一个事件,我们可以通过这个时间将输入框中的内容发送给 socket 服务端 。
发送事件绑定
我们可以在刚刚定义的 Button 中使用 command 参数来绑定方法,从而实现点击发送按钮时候的触发:
文章插图
这里我们定义的名称是 send,所以我们可以定义一个 send 方法来进一步操作:
文章插图
当我们点击按钮的时候就会触发这个方法:
文章插图
ok,那么接下来就是在 send 方法中获取输入框中的内容,发送给 socket,然后再清空输入框中的内容:
文章插图
我们先把获取和清空实现下看看:
文章插图
ok,没问题之后,我们就开始接入 socket。
Socket 的接入
像我们之前说的那样,定义一下连接的 socket 地址信息,然后创建连接:
文章插图
接着可以创建线程来接收服务器发过来的消息:
文章插图
将服务器获取到的消息展示到消息面板中:
文章插图
Socket 消息发送
我们再回到刚刚定义的 send 方法,把要发送的消息通过 socket 发送过去:
文章插图
运行聊天室
接下来我们就来运行一下我们写的聊天室,首先运行我们写的 socket 服务端:
文章插图
接着开启客户端:
文章插图
连接正常,这时候已经可以交互了,我们再打开一个客户端:
文章插图
可以接收到消息了,我们让他们聊起来看看:
文章插图
ok,这样聊天室的主要功能就实现啦,当然还有一些小地方的界面可以优化,这篇主要还是跟你说说 socket 的应用,本文首发于 fxxkpython,更多精彩来看 。
那么,我们下回见,peace!
【用 Python 开发一个 「聊天室」】
推荐阅读
- Shiro框架详解
- 六安瓜片的功效与作用,笑堂六安瓜片的功效作用
- 不拉肚子的减肥茶,没有副作用的减肥茶
- 经常使用苦瓜汁减肥法有效吗
- 经常喝苦瓜汁减肥有用吗
- 罗汉果茶的功效和作用,罗汉果茶的做法
- 电热毯对人体有害吗?
- 维生素e涂在脸上有什么作用?
- 商鞅变法秦国实现了富国强兵 秦王为什么要杀商鞅而用变法
- 绿茶作用和功效与禁忌,西湖龙井的功效与禁忌