本文實(shí)例展示了一個(gè)python的tkinter布局的簡(jiǎn)單聊天窗口。分享給大家供大家參考之用。具體方法如下:
該實(shí)例展示的是一個(gè)簡(jiǎn)單的聊天窗口,可以實(shí)現(xiàn)下方輸入聊天內(nèi)容,點(diǎn)擊發(fā)送,可以增加到上方聊天記錄列表中。現(xiàn)在只是“單機(jī)”版。
右側(cè)預(yù)留了空位可以放點(diǎn)兒其它東西。感興趣的讀者可以進(jìn)一步做成socket雙方互聊。
以下是功能代碼部分:
from Tkinter import *import datetimeimport timeroot = Tk()root.title(unicode('與xxx聊天中','eucgb2312_cn'))#發(fā)送按鈕事件def sendmessage(): #在聊天內(nèi)容上方加一行 顯示發(fā)送人及發(fā)送時(shí)間 msgcontent = unicode('我:','eucgb2312_cn') + time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()) + '/n ' text_msglist.insert(END, msgcontent, 'green') text_msglist.insert(END, text_msg.get('0.0', END)) text_msg.delete('0.0', END)#創(chuàng)建幾個(gè)frame作為容器frame_left_top = Frame(width=380, height=270, bg='white')frame_left_center = Frame(width=380, height=100, bg='white')frame_left_bottom = Frame(width=380, height=20)frame_right = Frame(width=170, height=400, bg='white')##創(chuàng)建需要的幾個(gè)元素text_msglist = Text(frame_left_top)text_msg = Text(frame_left_center);button_sendmsg = Button(frame_left_bottom, text=unicode('發(fā)送','eucgb2312_cn'), command=sendmessage)#創(chuàng)建一個(gè)綠色的tagtext_msglist.tag_config('green', foreground='#008B00')#使用grid設(shè)置各個(gè)容器位置frame_left_top.grid(row=0, column=0, padx=2, pady=5)frame_left_center.grid(row=1, column=0, padx=2, pady=5)frame_left_bottom.grid(row=2, column=0)frame_right.grid(row=0, column=1, rowspan=3, padx=4, pady=5)frame_left_top.grid_propagate(0)frame_left_center.grid_propagate(0)frame_left_bottom.grid_propagate(0)#把元素填充進(jìn)frametext_msglist.grid()text_msg.grid()button_sendmsg.grid(sticky=E)#主事件循環(huán)root.mainloop()
以下是運(yùn)行截圖:
希望本文所述對(duì)大家的Python程序設(shè)計(jì)有所幫助
新聞熱點(diǎn)
疑難解答
圖片精選