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"<tis...@stackless.com>写道: > > > 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"<tis...@stackless.com > <mailto:tis...@stackless.com>>写道: > > > > > > 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 :^) tis...@stackless.com > <mailto:tis...@stackless.com> > > <mailto:tis...@stackless.com <mailto:tis...@stackless.com>> > > 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 :^) tis...@stackless.com > <mailto:tis...@stackless.com> > 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 :^) tis...@stackless.com 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 PySide@qt-project.org http://lists.qt-project.org/mailman/listinfo/pyside