源码:
from tkinter import * import time def main(): def sendMsg():#发送消息 strMsg = '我:' + time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) + '\n ' txtMsgList.insert(END, strMsg, 'greencolor') txtMsgList.insert(END, txtMsg.get('0.0', END)) 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("", sendMsgEvent) btnSend = Button(frmLB, text='发 送', width = 8, command=sendMsg) btnCancel = Button(frmLB, text='取消', width = 8, command=cancelMsg) imgInfo = PhotoImage(file = "python.gif") lblImage = Label(frmRT, image = imgInfo) lblImage.image = imgInfo #窗口布局 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, 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()