Hi Zhao, interesting. I looked into PyQt5 and found out that
- __text__signature__ is not used at all
- __doc__ contains what the help() shows.
That means I can use my signature to generate similar doc strings
quite easily.
The feature is a bit more than the help, because signature objects
are real objects, not just strings. I think people can do much
more with that than just reading out the signature.
Internally, we are going to base a huge test suite upon this that
goes thru every function about exactness, completeness, crashes,
correct arguments and the like, and we will maintain a registry that
holds this info.
I am starting very small to build this registry by hand and store
for instance
"you cannot create a QPixmap if you don't have a QApplication"
This is an area where both PySide2 and PyQt5 are simply crashing,
today, because Qt is not aware that it is used in interactive
environments.
To fix problems like these, I developed the signature package.
Thanks for your idea -- Chris
On 23.09.17 04:36, Zhao Lee wrote:
> Sorry, I just feel the feature is just like what help() function do in
> Python
> https://docs.python.org/3/library/functions.html#help
>
> an example with PyQt5
>>>> from PyQt5.QtWidgets import QApplication
>>>> help(QApplication.startTimer)
> Help on built-in function startTimer:
>
> startTimer(...)
> startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) -> int
>
>>>>
>
>
> 在2017年09月22 16时42分, "Christian Tismer"<[email protected]>写道:
>
>
> Hi,
>
> please re-submit your reply in a readable way.
> I could read it locally, but the mailing list does not
> have a readable answer from you, just my copied text.
>
> Can you please come up with more than just "why not?"?
> I need a proposal how the help should look like.
>
> Thanks in advance -- Chris
>
>
> On 22.09.17 07:07, Zhao Lee wrote:
> > why not?
> >>>> help(PySide2.QtWidgets.QGraphicsAnchorLayout.addAnchors)
> >>>> help(PySide2.QtWidgets.QGraphicsAnchorLayout)
> >
> >
> >
> > 在2017年09月21 21时04分, "Christian Tismer"<[email protected]
> <mailto:[email protected]>>写道:
> >
> >
> > Hi friends,
> >
> > there is the new signature module for PySide2.
> > It adds the __signature__ attribute to all PySide2
> > functions and constructors.
> >
> > Example usage:
> >
> > >>>
> PySide2.QtWidgets.QGraphicsAnchorLayout.addAnchors.__signature__
> > >>> PySide2.QtWidgets.QGraphicsAnchorLayout.__signature__
> >
> > will print all annotations, defaults and return values.
> >
> > The feature supports Python 2.7 and Python 3.4 and up.
> > See further info at
> >
> > https://bugreports.qt.io/browse/PYSIDE-510
> >
> >
>
> https://github.com/pyside/pyside2-setup/blob/5.6/sources/shiboken2/libshiboken/signature.cpp
> >
> >
>
> https://github.com/pyside/pyside2-setup/blob/5.6/sources/shiboken2/libshiboken/signature.cpp
> >
> > Cheers -- Chris
> >
> > --
> > Christian Tismer :^) [email protected]
> <mailto:[email protected]>
> > <mailto:[email protected] <mailto:[email protected]>>
> > Software Consulting : http://www.stackless.com/
> > Karl-Liebknecht-Str. 121 : https://github.com/PySide
> > 14482 Potsdam : GPG key -> 0xFB7BEE0E
> > phone +49 173 24 18 776 fax +49 (30) 700143-0023
> >
> >
> >
> >
> >
> >
> >
>
>
> --
> Christian Tismer :^) [email protected]
> <mailto:[email protected]>
> Software Consulting : http://www.stackless.com/
> Karl-Liebknecht-Str. 121 : https://github.com/PySide
> 14482 Potsdam : GPG key -> 0xFB7BEE0E
> phone +49 173 24 18 776 fax +49 (30) 700143-0023
>
>
>
>
>
--
Christian Tismer :^) [email protected]
Software Consulting : http://www.stackless.com/
Karl-Liebknecht-Str. 121 : https://github.com/PySide
14482 Potsdam : GPG key -> 0xFB7BEE0E
phone +49 173 24 18 776 fax +49 (30) 700143-0023
signature.asc
Description: OpenPGP digital signature
_______________________________________________ PySide mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/pyside
