时间:2021-01-11 python教程 查看: 953
本文实例为大家分享了python图形用户接口实例的具体代码,供大家参考,具体内容如下
运用tkinter图形库,模拟聊天应用界面,实现信息发送.
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 senMsgKeyboard(event):
if event.keysym == "Up":
sendMsg()
#取消发送
def cancelMsg():
txtMsg.delete('0.0', END)
#窗口定义
t = Tk()
t.title("聊天窗口")
# 页面布局
# 创建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')
txtMsg = Text(frmLC)
# 键盘发送消息
txtMsg.bind("<KeyPress-Up>", senMsgKeyboard)
# 按钮发送消息
btnSend = Button(frmLB, text='发送', width=8, command=sendMsg)
btnCancel = Button(frmLB, text='取消', width=8, command=cancelMsg)
imageLink = PhotoImage(file = "test.gif")
lblImage = Label(frmRT, image=imageLink)
#控件布置到页面
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()
界面效果如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持python博客。