• f762506f9 (dev), 247c14cf3 (6.5), 95cb332c3 (tqtc/lts-6.2)

      Document about why dynamically adding signals and slots (on signal connection for instance) will cause issues both in Qt and PySide, and might lead to hard-to-debug issues and crashes.

      Main takeaways:
      1) Always decorate slots with @QtCore.Slot()
      2) Don't dynamically add / remove signals or slots after a connection is made to any signal or slot.
      3) Do not create signals in __init__ methods, the mySignal = QtCore.Signal() definitions should be as class members of the custom class.

      2023 addition :
      4) For QObject's registered with QML, always use @Slot() for invokable methods, the automatic method registration can fail (PYSIDE-2436)

      Also "Add a logging category to libpyside" bd6a2f1f880effb95ea3e42f52d06f0730103a03 https://codereview.qt-project.org/c/pyside/pyside-setup/+/426960 adds a logging category to get respective warnings by

      export QT_LOGGING_RULES="qt.pyside.libpyside.warning=true".
      

        For Gerrit Dashboard: PYSIDE-463
        # Subject Branch Project Status CR V

            ctismer Christian Tismer
            alexandru.croitor Alexandru Croitor
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:

                There are no open Gerrit changes