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()
  • 相关阅读:
    Java Bean validation specification...
    javascript压缩工具:YUI compressor
    CSS: Float a div on another div, Ex: Text caption on picture
    汉文博士 0.5.3.1944 测试版发布
    简单记事本程序java源码项目
    Windows计算机功能Java源码
    HighCharts 图表插件 自定义绑定 时间轴数据
    Windows Phone 8.1 新特性
    可自定义导航条功能案例ios项目源码
    自动计算尺寸列表功能案例ios源码
  • 原文地址:https://www.cnblogs.com/luban/p/9240759.html
Copyright © 2011-2022 走看看