用于实时聊天框的图形用户界面

时间:2016-03-30 18:50:33

标签: python-2.7 tkinter

我尝试使用tkinter创建一个聊天框进行实时聊天。但是在GUI部分(下面)中存在一个问题,我收到此错误:

  

NameError:全局名称' action'未定义

我的代码:

from Tkinter import *
from PIL import ImageTk,Image

class LoginFrame(Frame):

    def action(event):
        global EntryBox
        global ChatLog

        EntryBox.config(state=NORMAL)
        EntryText = (EntryBox.get("0.0",END))
        LoadMyEntry(ChatLog,EntryText)
        EntryBox.delete("0.0",END)

    def __init__(self, parent):

        Frame.__init__(self, parent,background=("lavender blush"))


        self.parent = parent
        self.parent.title("Lets Gossip")
        self.pack(fill=BOTH, expand=1)

        w = 400
        h = 500

        sw = self.parent.winfo_screenwidth()
        sh = self.parent.winfo_screenheight()

        x = (sw - w)/2
        y = (sh - h)/2 
        self.parent.geometry('%dx%d+%d+%d' % (w, h, x, y))

        ChatLog = Text(self, bd=0, bg="white", height="8", width="50", font="Arial",)

        scrollbar = Scrollbar(self, command=ChatLog.yview, cursor="heart")
        ChatLog['yscrollcommand'] = scrollbar.set


        EntryBox = Text(self, bd=0, bg="white",width="29", height="5", font="Arial")
        EntryBox.bind("<Return>",action)
        EntryBox.bind("<KeyRelease-Return>")

        scrollbar1 = Scrollbar(self, command=ChatLog.yview, cursor="heart")
        EntryBox['yscrollcommand'] = scrollbar1.set

        scrollbar.place(x=376,y=6, height=386)
        ChatLog.place(x=6,y=6, height=386, width=370)
        scrollbar1.place(x=376,y=401, height=90)
        EntryBox.place(x=6, y=401, height=90, width=370)

        self.pack()

root = Tk()
lf = LoginFrame(root)
root.mainloop() 

0 个答案:

没有答案