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()) + '\n ' 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()