ich bin gerade dabei mich in wxPython einzuarbeiten. Bei diesem GUI-Toolkit kann man die Widgets mit dem Parameter "pos" absolut positionieren. Dies habe ich dann mit einem Tupel (10, 10) zum Beispiel gemacht. PyCharm gibt aber einen Hinweis, dass man für die Koordinaten die Klasse wx.Point() nutzen sollte. Also zum Beispiel
@moe: Den Unterschied kannst Du Dir doch in der jeweiligen Dokumentation anschauen. Also was die Objekte jeweils an Methoden haben. Die C++-Bibliothek kennt keine Python-Tupel, die benutzt an der Stelle `wxPoint`-Objekte. Die Python-Anbindung ist so nett aus Tupeln solche Objekte zu erstellen.
Ob man `wx.Point` nutzen sollte ist eine Frage die wahrscheinlich die Dokumentation der Python-Anbindung beantworten kann. Wenn die diese automatische Umwandlung als veraltet markiert haben und die abschaffen wollen, dann sollte man das nicht mehr nutzen. Falls nicht, ist die Frage ob man mit dem meckern von PyCharm leben kann, oder mit dem expliziten verwenden von `wx.Point`. Oder ob man die Prüfung von Typannotationen in PyCharm abstellt.
“It is easier to change the specification to fit the program than vice versa.” — Alan J. Perlis
also in der Doku von wxPython habe ich nichts gefunden, dass diese automatische Umwandlung als veraltet markiert wurde. Danke aber für den Hinweis, dass an dieser Stelle Tupel zu diesen wx.Point()-Objekten konvertiert werden.
Ich habe mal geschaut wo man Typannotationen für wxPython her bekommt: Das ist ein eigenes, von wxPython unabhängiges Projekt, das die HTML-Dokumentation von wxPython auswertet. Das setzt als Typ für `wx.Point`-Argumente aber `Union[tuple[int, int], 'Point'`: https://github.com/AlexionSoftware/type ... er.py#L620
PyCharm benutzt also wohl eine andere Quelle für die Typannotationen‽
“It is easier to change the specification to fit the program than vice versa.” — Alan J. Perlis
ich habe die Erfahrung auch schon gemacht, dass man sich nicht auf alle Anmerkungen von PyCharm verlassen kann. Allerdings kam das bei mir wirklich eher selten vor.
Grüße
Dennis
"When I got the music, I got a place to go" [Rancid, 1993]
sparrow hat geschrieben: Freitag 12. September 2025, 05:48
@moe: Ergänzend: In allen mir bekannten Toolkits sollte man Widgets nicht fest positionieren sondern Layoutmanager verwenden.
Hi, das ist mir bekannt. Ich hatte der Einfachheit halber die Widgets erst mal fest positioniert.