Matplotlib canvas.mpl_connect erwartet eine Funktion, die "Ereignis" -Typ und Pycharm empfängtPython

Python-Programme
Anonymous
 Matplotlib canvas.mpl_connect erwartet eine Funktion, die "Ereignis" -Typ und Pycharm empfängt

Post by Anonymous »

Ich füge einem Code Typanmerkungen hinzu, der mit einer Matplotlib -Leinwand Ereignisse in einer Tkinter -GUI übernimmt. Pycharm gibt eine Warnung zum Typ Check: < /p>
"Erwarteter Typ" (Ereignis) -> Jeder 'Got' (Ereignis: MouseeEvent) -> Keine 'Stattdessen "< /p>
Code sieht so aus: < /p>
class ViewWindow(ttk.Frame):
def __init__(self, parent):
super().__init__(parent)
self.fig = Figure()
self.ax = self.fig.add_subplot(111)
self.canvas = FigureCanvasTkAgg(self.fig, master=self)
self.canvas.draw()
self.canvas.get_tk_widget().pack(fill='both', expand=True)
self.handler = EventHandler(self)

class EventHandler:
def __init__(self, parent):
self.parent = parent
self.parent.canvas.mpl_connect('button_press_event', self.on_press)

def on_press(self, event: MouseEvent) -> None:
# do some stuff that uses the MouseEvent attributes
print(event)
< /code>
Pycharm hat Probleme mit der Self.on_press -Methode mit einem Ereignis "mouseEvent", wenn es in der Funktionssignatur einen "Ereignis" -Typ wünscht. "MouseEvent" ist eine Kinderklasse von "Event" und alles funktioniert so, wie es sollte. Wenn ich die Ereignisanmerkung in "Ereignis" ändere, wirft es Warnungen auf, dass einige der Attribute von MouseeEvent, die ich verwende, nicht existieren. ? Ich kann die Warnung verschwinden, indem ich "# noinspection pytypechecker" vorher verwenden. Gibt es einen richtigen Weg, dies zu kommentieren? Ich habe versucht, den Ereignistyp in "Ereignis" zu ändern. Dies ist die Warnung los, stellte jedoch mehrere andere vor>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post