Uploaded image for project: 'Qt for Python'
  1. Qt for Python
  2. PYSIDE-2173

QML segfaults when using enums from a singleton object

    XMLWordPrintable

Details

    • Bug
    • Resolution: Duplicate
    • Not Evaluated
    • None
    • 6.3.1
    • PySide
    • None

    Description

      The following causes a segmentation fault:

      test.py

       

      import sys
      import pathlib
      import enum
      from PySide6 import QtCore, QtGui, QtQml, QtQuick
      class TestObject(QtCore.QObject):
          @QtCore.QEnum
          class MyEnum(enum.Enum):
              First, Second, Third = 1, 2, 3
          @QtCore.Slot(MyEnum)
          def clicketyClick(self, testParameter: MyEnum) -> None:
              print(f"Button Clicked! {testParameter}")
      if __name__ == "__main__":
          app = QtGui .QGuiApplication(sys.argv)
          view = QtQuick .QQuickView()
          testObject = TestObject()
          QtQml.qmlRegisterSingletonInstance(TestObject, "TestModule", 1, 0, "TestObject", testObject) # type: ignore
          view.setResizeMode(QtQuick .QQuickView.SizeRootObjectToView)
          qml_file = pathlib.Path(__file__).parent / "test.qml"
          view.setSource(QtCore.QUrl.fromLocalFile(qml_file.resolve()))
          view.show()
          app.exec()
      

       

      test.qml

      import QtQuick
      import QtQuick.Controls
      import TestModule
      Item{
          width: 500
          height: 500
          Button{
              text:"Click Me"
              onClicked: {
                  TestObject.clicketyClick(TestObject.First)
              }
          }
      }
       

       

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              crmaurei Cristian Maureira-Fredes
              viktor-refeyn Viktor Verebelyi
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes