首页 文章

AttributeError:类型对象'Message'没有属性'get'

提问于
浏览 435
-1

AttributeError:类型对象'Message'没有属性'get'

码:

root = Tk()
frame = Frame(root)
labelText = StringVar()

display = Label(frame, textvariable=labelText)
labelText.set("Connecting to the server...")
display.pack()
frame.pack()
display.update()


def Submit_Message(event):
    Message_Get = Message.get()
    print(Message_Get)

def run_code_1():
    print("Enter Message to send!")
    Message = StringVar()
    Message = Text(root)
    Submit_Data_Button = Button(root, text="Submit")
    Submit_Data_Button.bind("<Button-1>", Submit_Message)
    Submit_Data_Button.pack()
    Message.pack(expand=YES, fill=BOTH)


run_code_1()

root.mainloop()

Tkinter回调中的异常回溯(最近一次调用最后一次):文件“C:\ Python \ lib \ tkinter__init __ . py”,第1699行,在调用中返回self.func(* args)文件“D:\ python_projects \ trial2.py “,第42行,在Submit_M中消息Message_Get = Message.get()AttributeError:类型对象'消息'没有属性'get'进程返回0(0x0)执行时间:5.439 s按任意键继续 . . .

2 回答

  • 0

    在你的def方法中,你需要说出消息是什么 . 您只能在方法之外执行此操作 . 消息尚未在Submit_Message方法中初始化,因此它没有任何属性 . 例如,您可以将其设为全局

  • 0

    在您的代码中,您将创建一个名为 Message 的局部变量 . 但是, Submit_Message 看不到那个局部变量 . 相反,它认为 Message 是您使用 from tkinter import * 导入的全局类

    如果您需要在其他上下文中访问本地 Message 变量,则需要通过在 run_code_1 内添加 global Message 来使其全局化 .

相关问题