python的tkinter布局之简单的聊天窗口实现方法

本文实例展示了一个python的tkinter布局的简单聊天窗口。分享给大家供大家参考之用。具体方法如下:

该实例展示的是一个简单的聊天窗口,可以实现下方输入聊天内容,点击发送,可以增加到上方聊天记录列表中。现在只是“单机”版。
右侧预留了空位可以放点儿其它东西。感兴趣的读者可以进一步做成socket双方互聊。

以下是功能代码部分:

from Tkinter import *import datetimeimport timeroot = Tk()root.title(unicode('与xxx聊天中','eucgb2312_cn'))#发送按钮事件def sendmessage():  #在聊天内容上方加一行 显示发送人及发送时间  msgcontent = unicode('我:','eucgb2312_cn') + time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()) + ' '  text_msglist.insert(END, msgcontent, 'green')  text_msglist.insert(END, text_msg.get('0.0', END))  text_msg.delete('0.0', END)#创建几个frame作为容器frame_left_top   = Frame(width=380, height=270, bg='white')frame_left_center  = Frame(width=380, height=100, bg='white')frame_left_bottom  = Frame(width=380, height=20)frame_right     = Frame(width=170, height=400, bg='white')##创建需要的几个元素text_msglist    = Text(frame_left_top)text_msg      = Text(frame_left_center);button_sendmsg   = Button(frame_left_bottom, text=unicode('发送','eucgb2312_cn'), command=sendmessage)#创建一个绿色的tagtext_msglist.tag_config('green', foreground='#008B00')#使用grid设置各个容器位置frame_left_top.grid(row=0, column=0, padx=2, pady=5)frame_left_center.grid(row=1, column=0, padx=2, pady=5)frame_left_bottom.grid(row=2, column=0)frame_right.grid(row=0, column=1, rowspan=3, padx=4, pady=5)frame_left_top.grid_propagate(0)frame_left_center.grid_propagate(0)frame_left_bottom.grid_propagate(0)#把元素填充进frametext_msglist.grid()text_msg.grid()button_sendmsg.grid(sticky=E)#主事件循环root.mainloop()

登录后复制

以下是运行截图:

python的tkinter布局之简单的聊天窗口实现方法

希望本文所述对大家的Python程序设计有所帮助

立即学习“Python免费学习笔记(深入)”;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2303228.html

(0)
上一篇 2025年2月28日 06:57:22
下一篇 2025年2月18日 01:53:46

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • python批量修改文件名的实现代码

    #coding:utf-8 #批量修改文件名 import os import re import datetime re_st = r'(d+)+s?((d+))’ #用于匹配旧的文件名,需含分组 re_match_old_file_na…

    编程技术 2025年2月28日
    200
  • Python抓取京东图书评论数据

     京东图书评论有非常丰富的信息,这里面就包含了购买日期、书名、作者、好评、中评、差评等等。以购买日期为例,使用python + mysql的搭配进行实现,程序不大,才100行。相关的解释我都在程序里加注了: from selenium im…

    编程技术 2025年2月28日
    200
  • python中的五种异常处理机制介绍

    从几年前开始学习编程直到现在,一直对程序中的异常处理怀有恐惧和排斥心理。之所以这样,是因为不了解。这次攻python,首先把自己最畏惧和最不熟悉的几块内容列出来,里面就有「异常处理」这一项。 《Dive into Python》并没有专门介…

    编程技术 2025年2月28日
    200
  • python中的hashlib和base64加密模块使用实例

    看到好几位博主通过对模块的各个击破学习python,我也效法一下,本篇说一下python中加密涉及到的模块。 hashlib hashlib模块支持的加密算法有md5 sha1 sha224 sha256 sha384 sha512(加密原…

    编程技术 2025年2月28日
    200
  • Python深入学习之装饰器

    装饰器(decorator)是一种高级python语法。装饰器可以对一个函数、方法或者类进行加工。在python中,我们有多种方法对函数和类进行加工,比如在python闭包中,我们见到函数对象作为某一个函数的返回结果。相对于其它方式,装饰器…

    编程技术 2025年2月28日
    200
  • python中的函数用法入门教程

    本文较为详细的讲述了python程序设计中函数的用法,对于python程序设计的学习有不错的借鉴价值。具体分析如下: 一、函数的定义: Python中使用def关键字定义函数,函数包括函数名称和参数,不需要定义返回类型,Python能返回任…

    编程技术 2025年2月28日
    200
  • Python深入学习之上下文管理器

    上下文管理器(context manager)是python2.5开始支持的一种语法,用于规定某个对象的使用范围。一旦进入或者离开该使用范围,会有特殊操作被调用 (比如为对象分配或者释放内存)。它的语法形式是with…as&#8…

    编程技术 2025年2月28日
    200
  • python进阶教程之模块(module)介绍

    我们之前看到了函数和对象。从本质上来说,它们都是为了更好的组织已经有的程序,以方便重复利用。 模块(module)也是为了同样的目的。在Python中,一个.py文件就构成一个模块。通过模块,你可以调用其它文件中的程序。 引入模块 我们先写…

    编程技术 2025年2月28日
    200
  • Python深入学习之对象的属性

    python一切皆对象(object),每个对象都可能有多个属性(attribute)。python的属性有一套统一的管理方案。 属性的__dict__系统 对象的属性可能来自于其类定义,叫做类属性(class attribute)。类属性…

    编程技术 2025年2月28日
    200
  • Python中optionParser模块的使用方法实例教程

    本文以实例形式较为详尽的讲述了python中optionparser模块的使用方法,对于深入学习python有很好的借鉴价值。分享给大家供大家参考之用。具体分析如下: 一般来说,Python中有两个内建的模块用于处理命令行参数: 一个是 g…

    编程技术 2025年2月28日
    200

发表回复

登录后才能评论