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()
  • 相关阅读:
    Ajax实现表格实时编辑
    自定义简单分页
    有趣的 0
    关于AJAX的一些事
    JQ中的FormData对象 ajax上传文件
    订单导出
    javaScript事件委托
    javascript递归函数
    详解javascript中this的工作原理
    详解JavaScript对象继承方式
  • 原文地址:https://www.cnblogs.com/luban/p/9240759.html
Copyright © 2011-2022 走看看