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()
界面效果如下:




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值