函数未被访问

2024-09-29 21:44:51 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的代码:

self.msg_entry = Entry(bottom_label, bg="#2C3E50", fg=TEXT_COLOR, font=FONT)
self.msg_entry.place(relwidth=0.74, relheight=0.06, rely=0.008, relx=0.011)
self.msg_entry.focus()
self.msg_entry.bind("<Return>", self._on_enter_pressed)
  
def _on_enter_pressed(self, event):
  msg = self.msg_entry.get()
  self._insert_message(msg, "You")

将鼠标悬停在“按enter键”功能上时,显示该功能未被访问,并且出现以下错误:

Traceback (most recent call last):
      File "GUI.py", line 91, in <module>
        app = ChatApplication()
      File "GUI.py", line 15, in __init__
        self._setup_main_window()
      File "GUI.py", line 76, in _setup_main_window
        self.msg_entry.bind("<Return>", self._on_enter_pressed)
    AttributeError: 'ChatApplication' object has no attribute '_on_enter_pressed'

(我正在使用python中的tkinter实现GUI。)

我怎样才能解决这个问题


Tags: inpyself功能returnbindonline
1条回答
网友
1楼 · 发布于 2024-09-29 21:44:51

您有错误的缩进-_on_enter_pressed必须在__init__之外

def __init__(self):
    # ... code ..

    self.msg_entry = Entry(bottom_label, bg="#2C3E50", fg=TEXT_COLOR,  font=FONT)
    self.msg_entry.place(relwidth=0.74, relheight=0.06, rely=0.008,  relx=0.011)
    self.msg_entry.focus()
    self.msg_entry.bind("<Return>", self._on_enter_pressed)
  
# outside `__init__`

def _on_enter_pressed(self, event):
    msg = self.msg_entry.get()
    self._insert_message(msg, "You")

相关问题 更多 >

    热门问题