[prev in list] [next in list] [prev in thread] [next in thread] 

List:       pykde
Subject:    Re: PyQt6 Signals are not correctly typed
From:       "Kyle Altendorf" <sda () fstab ! net>
Date:       2022-11-16 14:33:01
Message-ID: 38c491d6-2ba7-4066-a0d5-e139c86595e1 () app ! fastmail ! com
[Download RAW message or body]

mm, shortcuts that send the email early...

https://github.com/python-qt-tools/PyQt6-stubs/blob/f623a641cd5cdff53342177e4fbbf9cae8172336/PyQt6-stubs/QtCore.pyi#L29-L52


The PyQt6-stubs haven't made it to PyPI yet so you'll have to install via \
`pyqt6-stubs @ git+https://github.com/python-qt-tools/pyqt6-stubs` or similar.

On Wed, Nov 16, 2022, at 09:31, Kyle Altendorf wrote:
> The PyQt (and PySide for that matter) official hints need a good bit of help.  The \
> pyqt5-stubs and pyqt6-stubs are attempts to 1) offer better hints to users and 2) \
> offer a reference for Phil to work from to fix the official hints.  I spent a \
> couple years working on PyQt5 stuff but presently have moved on.  There's some \
> other interest in maintenance, but not a lot of active work (maybe my fault). 
> For signals, well, we don't have a complete solution but we at least have something \
> a lot better. 
> 
> On Wed, Nov 16, 2022, at 09:24, JakobDev wrote:
> > 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.
> > 
> > 
> > *Attachments:*
> > * testtype.py
> > * PyCharm.png
> 


[Attachment #3 (text/html)]

<!DOCTYPE html><html><head><title></title><style type="text/css">
p.MsoNormal,p.MsoNoSpacing{margin:0}</style></head><body><div>mm, shortcuts that send \
the email early...</div><div><br></div><div><a \
href="https://github.com/python-qt-tools/PyQt6-stubs/blob/f623a641cd5cdff53342177e4fbb \
f9cae8172336/PyQt6-stubs/QtCore.pyi#L29-L52">https://github.com/python-qt-tools/PyQt6- \
stubs/blob/f623a641cd5cdff53342177e4fbbf9cae8172336/PyQt6-stubs/QtCore.pyi#L29-L52</a><br></div><div><br></div><div>The \
PyQt6-stubs haven't made it to PyPI yet so you'll have to install via `pyqt6-stubs @ \
git+<a href="https://github.com/python-qt-tools/pyqt6-stubs">https://github.com/python-qt-tools/pyqt6-stubs</a>` \
or similar.</div><div><br></div><div>On Wed, Nov 16, 2022, at 09:31, Kyle Altendorf \
wrote:<br></div><blockquote type="cite" id="qt" style=""><div>The PyQt (and PySide \
for that matter) official hints need a good bit of help.&nbsp; The pyqt5-stubs and \
pyqt6-stubs are attempts to 1) offer better hints to users and 2) offer a reference \
for Phil to work from to fix the official hints.&nbsp; I spent a couple years working \
on PyQt5 stuff but presently have moved on.&nbsp; There's some other interest in \
maintenance, but not a lot of active work (maybe my \
fault).<br></div><div><br></div><div>For signals, well, we don't have a complete \
solution but we at least have something a lot \
better.<br></div><div><br></div><div><br></div><div>On Wed, Nov 16, 2022, at 09:24, \
JakobDev wrote:<br></div><blockquote type="cite" id="qt-qt" style=""><div>I \
demonstrate it with the attached example. It's a very simple \
Program<br></div><div>that just shows a Button. If you click the Button, it prints \
Hello<br></div><div>World. So pretty normal. Now let's run mypy on this. It gives you \
this<br></div><div>error:<br></div><div><br></div><div>testtype.py:13: error: \
"Callable[[], None]" has no attribute "connect"<br></div><div>Found 1 error in 1 file \
(checked 1 source file)<br></div><div><br></div><div>Now let's open this in PyCharm. \
PyCharm also shows a error here. Signals<br></div><div>are not correctly typed. It \
looks like they are typed as function. To be<br></div><div>clear: This here is just a \
example. It happens with every Signals, which<br></div><div>is annoying if you work \
on a bigger Project in PyCharm.<br></div><div><br></div><div>What makes this these \
even worse, is that PyQt6 comes with a py.typed<br></div><div>(see PEP561). It \
basically means, that this package can be considered as<br></div><div>statically and \
correctly typed.<br></div><div><br></div><div><br></div><div><b>Attachments:</b><br></ \
div><ul><li>testtype.py<br></li><li>PyCharm.png<br></li></ul></blockquote><div><br></div></blockquote><div><br></div></body></html>




[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic