如何在基于python的聊天室中实现表情接收功能
注:本聊天室涉及TCP、SNMP协议
发送表情功能要点主要有两部分:表情按钮点击事件、字典存放表情。
表情按钮点击事件:发送表情时,参数是发的表情图标记,发送后将按钮销毁。
本次选用四个表情,每一个表情均用button创建一个按钮,实现点击“表情”,可以显示已有的表情,当表情发送完成之后,显示表情图标的按钮会自动撤销,即按钮点击事件调用表情图标。
表情图标用字典进行存放,将表情图片存入变量中,用字典将标记与表情图片一一对应, 用于后面接收标记判断表情贴图。
接下来是实现的步骤:
一:首先要在于与代码的同一文件夹下创建一个存放表情贴图的文件夹emoji,表情贴图有:
二:拟写相关代码
表情贴图代码实现:
p1 = PhotoImage(file='./emoji/facepalm.png')
p2 = PhotoImage(file='./emoji/smirk.png')
p3 = PhotoImage(file='./emoji/concerned.png')
p4 = PhotoImage(file='./emoji/smart.png')
# 用字典将标记与表情图片一一对应, 用于后面接收标记判断表情贴图
dic = {'aa**': p1, 'bb**': p2, 'cc**': p3, 'dd**': p4}
ee = 0 # 判断表情面板开关的标志
def mark(exp): # 参数是发的表情图标记, 发送后将按钮销毁global addressglobal eemes = exps.sendto(('biaoqin'+','+ mes).encode('utf-8'), address)now_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())scr1.insert(END, '服务器({}): '.format(now_time))scr1.image_create(tkinter.END, image=dic[mes])
def bb1():mark('aa**')
def bb2():
mark('bb**')
def bb3():mark('cc**')
def bb4():mark('dd**')
表情按钮实现:
b1 = Button(root, command=bb1, image=p1,relief=tkinter.FLAT, bd=0)b2 = Button(root, command=bb2, image=p2,relief=tkinter.FLAT, bd=0)b3 = Button(root, command=bb3, image=p3,relief=tkinter.FLAT, bd=0)b4 = Button(root, command=bb4, image=p4,relief=tkinter.FLAT, bd=0)
三:功能展示:
如何在基于python的聊天室中实现表情接收功能相关推荐
- 基于Python的聊天室
基于Python的聊天室 文章目录 基于Python的聊天室 一.引言 1.1 背景和意义 1.2 系统要实现的功能 1.2.1 用户登录 1.2.2 群发消息 1.2.3 一对一聊天 1.2.4 发 ...
- 基于python的聊天室_Python实现文字聊天室
你是否想过用所学的Python开发一个图形界面的聊天室程序啊? 像这样的: image 如果你想开发这样一个有点怀旧风格的聊天程序,那么可以接着看: 要开发这个聊天程序,你需要具备以下知识点: asy ...
- 基于JavaEE的聊天室实现显示表情包图片
一.写在前面 这学期新开的JavaEE,使用socket做了一个聊天室,想着加一点自己的功能.传输文件流有点麻烦,于是就使用客户端直接的约定,实现显示图片的功能,说明:图片文件并未在socket中传输 ...
- 【python】基于Socket的聊天室Python开发
基于Socket的聊天室Python开发 一.Socket简述 二.创建服务端Server 2.1 创建服务端初始化 2.2 监听客户端连接 2.3 处理客户端消息 三.创建客户端Client 3.1 ...
- 聊天软交互原理_来自不同城市的人们如何在freeCodeCamp聊天室中进行交互
聊天软交互原理 by Déborah Mesquita 由DéborahMesquita 来自不同城市的人们如何在freeCodeCamp聊天室中进行交互 (How people from diffe ...
- Python在线聊天室(windows)
Python在线聊天室(windows) 1.:准备系统参数配置模块 (settings.py) #服务器地址 HOST = 'localhost' #服务器端口 PORT = 9999 #服务器管道 ...
- Android 基于Socket的聊天室
原文地址为: Android 基于Socket的聊天室 Socket是TCP/IP协议上的一种通信,在通信的两端各建立一个Socket,从而在通信的两端之间形成网络虚拟链路.一旦建立了虚拟的网络链路, ...
- SpringBoot + Vue 实现基于 WebSocket 的聊天室(单聊)
前言 在前一篇文章SpringBoot 集成 STOMP 实现一对一聊天的两种方法中简单介绍了如何利用 STOMP 实现单聊,本文则将以一个比较完整的示例展示实际应用,不过本文并未使用 STOMP,而 ...
- 从0实现基于Linux socket聊天室-实现聊天室的公聊、私聊功能-4
前面文章链接如下: <从0实现基于Linux socket聊天室-多线程服务器模型-1> <从0实现基于Linux socket聊天室-多线程服务器一个很隐晦的错误-2> &l ...
最新文章
- D - Bear and Finding Criminals
- 怎么关闭微信微众银行账户服务器,微信微众银行要怎么关闭,微信微众银行注销方法...
- 【深度学习】解决物体检测中的小目标问题
- mysql5.7.14多实例安装
- 宜昌宝塔河项目_宜昌城区首个垃圾分类定时定点投放点启用 厨余垃圾破袋投放...
- 迭代器协议、斐波那契数列
- 融云聊天 php_thinkphp整合系列之融云即时通讯在线聊天
- linux学习查看系统资源和磁盘分区
- 干货!总结19个提升iOS开发技术的必看教程!
- APICloud使用Aui自定义Toast
- 后台系统应该具备的素养
- Scala和Java二种方式实战Spark Streaming开发
- XmlHttpRequest错误:Access-Control-Allow-Origin不允许使用原点null
- opecv-putText
- MAC安装向日葵软件步骤
- Diango做blog.docx
- 如何限制一台电脑只能登陆一个QQ帐号
- suse系统搭建ftp服务器,linux suse 搭建ftp服务器
- Win11的两个实用技巧系列之加载驱动失败怎么办、占用内存高的解决办法
- 阿里P9架构师终于把毕生心血而成的分布式高可用算法笔记开源了
热门文章
- C#毕业设计——基于C#+asp.net+sqlserver的网络在线考试系统设计与实现(毕业论文+程序源码)——网络在线考试系统
- sa结构组网方式_5G网络包含NSA和SA两种组网方式
- 兴趣推荐阅读体验同质化严重 智能算法需兼顾个性和深度
- mel编程相较于c语言怎么样,MEL语言
- 分析黑客入侵 PostgreSQL 数据库
- Python爬虫——漫画下载
- 《炬丰科技-半导体工艺》单层胶体晶体的微纳米光刻技术研究进展
- 2022谷歌浏览器插件FOFA Pro View失效更新方法
- 邂逅Flutter开发
- 如何转换.CR2格式的图片