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

Shiboken: Wrong code generated for enum-in-class-in-namespace

    XMLWordPrintable

Details

    • 14c6809ec5 (pyside/pyside-setup/dev) 39748d5e13 (pyside/pyside-setup/6.3) 39748d5e13 (pyside/pyside-setup/wip/6.3_pypy) 39748d5e13 (pyside/tqtc-pyside-setup/6.3) 14c6809ec5 (pyside/tqtc-pyside-setup/dev) 39748d5e13 (pyside/tqtc-pyside-setup/wip/6.3_pypy)

    Description

      See the attached project, which is based on the SampleBinding example (https://doc.qt.io/qtforpython/shiboken6/examples/samplebinding.html ).

      • com::mysample::Noodle is a QObject
      • com::mysample::Noodle::NoodleOrigin is an enum class.

      Building the project produces the following error:

      [ 50%] Building CXX object CMakeFiles/Universe.dir/Universe/com_mysample_noodle_wrapper.cpp.obj
      com_mysample_noodle_wrapper.cpp
      [ 62%] Building CXX object CMakeFiles/Universe.dir/Universe/com_mysample_wrapper.cpp.obj
      com_mysample_wrapper.cpp
      D:\Test\pyenum\build\Universe\com_mysample_wrapper.cpp(91): error C2039: 'qt_getEnumMetaObject': is not a member of 'com::mysample'
      D:\Test\pyenum\noodle.h(7): note: see declaration of 'com::mysample'
      D:\Test\pyenum\build\Universe\com_mysample_wrapper.cpp(133): error C2039: 'qt_getEnumName': is not a member of 'com::mysample'
      D:\Test\pyenum\noodle.h(7): note: see declaration of 'com::mysample'
      

      The enum is a member of com::mysample::Noodle, not com::mysample.

      Attachments

        Issue Links

          Activity

            People

              kleint Friedemann Kleint
              skoh-qt Sze Howe Koh
              Votes:
              2 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: