zoukankan      html  css  js  c++  java
  • Python 聊天界面编写

    import os
    from tkinter import *
    import time
    
    os.chdir('E:\actdata')
     
    def main():
     
      def sendMsg():#发送消息
        strMsg = '我:' + time.strftime("%Y-%m-%d %H:%M:%S",
                                      time.localtime()) + '
     '
        print(strMsg)
        txtMsgList.insert(END, strMsg,"greencolor")#插入年月日
        txtMsgList.insert(END, txtMsg.get('0.0', END))#输入的内容,0.0表示文本开始
        txtMsg.delete('0.0', END)#删除中间刚输入的内容
         
      def cancelMsg():#取消消息
        txtMsg.delete('0.0', END)
     
      def sendMsgEvent(event): #发送消息事件:
        if event.keysym == "Up":
          sendMsg()
     
      #创建窗口 
      t = Tk()
      t.title('与Python聊天中')
           
      #创建frame容器
      frmLT = Frame(width=500, height=320, bg='white')
      frmLC = Frame(width=500, height=150, bg='white')
      frmLB = Frame(width=500, height=30)
      frmRT = Frame(width=200, height=500)
       
      #创建控件
      txtMsgList = Text(frmLT)
     # txtMsgList.tag_config('greencolor', foreground='#008C00')#创建tag
      txtMsg = Text(frmLC);
      txtMsg.bind("<KeyPress-Up>", sendMsgEvent)
    
      #发送取消按钮和图片
      btnSend = Button(frmLB, text='发 送', width = 8, command=sendMsg)
      btnCancel = Button(frmLB, text='取消', width = 8, command=cancelMsg)
      imgInfo = PhotoImage(file = "python2.gif")
      lblImage = Label(frmRT, image = imgInfo)
      lblImage.image = imgInfo
     
      #窗口布局columnspan选项可以指定控件跨越多列显示,
      #而rowspan选项同样可以指定控件跨越多行显示。
      frmLT.grid(row=0, column=0,columnspan=2, padx=1, pady=3)
      frmLC.grid(row=1, column=0, columnspan=2,padx=1, pady=3)
      frmLB.grid(row=2, column=0,columnspan=2)
      frmRT.grid(row=0, column=2, columnspan=2,rowspan=3, padx=2, pady=3)
      #固定大小
      frmLT.grid_propagate(0)
      frmLC.grid_propagate(0)
      frmLB.grid_propagate(0)
      frmRT.grid_propagate(0)
    
       #按钮和图片
      btnSend.grid(row=2,column=0)
      btnCancel.grid(row=2,column=1)
      lblImage.grid()
      
      txtMsgList.grid()
      txtMsg.grid()
     
      #主事件循环
      t.mainloop()
     
    if __name__ == '__main__':
        main()
  • 相关阅读:
    人在年轻的时候,最需要的能力--吃药的能力
    查分单词-Python
    关于NLP算法工程师的几点思考
    找出只出现一次的数字-Python
    最长连续序列
    二叉树中的最大路径和-Python
    windows:查找端口所对应的进程
    vue项目路由模式为history时打包后部署在nginx 配置访问
    用navicat连接数据库报错:1130-host ... is not allowed to connect to this MySql server如何处理
    mysql误删root用户
  • 原文地址:https://www.cnblogs.com/luban/p/9240759.html
Copyright © 2011-2022 走看看