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>
Matplotlib canvas.mpl_connect erwartet eine Funktion, die "Ereignis" -Typ und Pycharm empfängt ⇐ Python
-
- Similar Topics
- Replies
- Views
- Last post