[prev in list] [next in list] [prev in thread] [next in thread]
List: pykde
Subject: PyQt6 Signals are not correctly typed
From: JakobDev <jakobdev () gmx ! de>
Date: 2022-11-16 14:24:30
Message-ID: 5f58817a-5e15-48c7-9dce-cd73be9518fb () gmx ! de
[Download RAW message or body]
I demonstrate it with the attached example. It's a very simple Program
that just shows a Button. If you click the Button, it prints Hello
World. So pretty normal. Now let's run mypy on this. It gives you this
error:
testtype.py:13: error: "Callable[[], None]" has no attribute "connect"
Found 1 error in 1 file (checked 1 source file)
Now let's open this in PyCharm. PyCharm also shows a error here. Signals
are not correctly typed. It looks like they are typed as function. To be
clear: This here is just a example. It happens with every Signals, which
is annoying if you work on a bigger Project in PyCharm.
What makes this these even worse, is that PyQt6 comes with a py.typed
(see PEP561). It basically means, that this package can be considered as
statically and correctly typed.
["testtype.py" (text/x-python)]
from PyQt6.QtWidgets import QApplication, QPushButton
import sys
def hello_world():
print("Hello World!")
app = QApplication(sys.argv)
button = QPushButton("Say Hello")
button.pressed.connect(hello_world)
button.show()
sys.exit(app.exec())
["PyCharm.png" (image/png)]
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic