Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Is the QGraphicsSceneEvent constructor public?
QtWS25 Last Chance

Is the QGraphicsSceneEvent constructor public?

Scheduled Pinned Locked Moved Solved General and Desktop
7 Posts 3 Posters 534 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B Offline
    B Offline
    biospud
    wrote on last edited by
    #1

    On the one hand, the constructor for the C++ class QGraphicsSceneEvent appears to be public https://github.com/qt/qtbase/blob/5.13/src/widgets/graphicsview/qgraphicssceneevent.h#L67

    However, the documention at https://doc.qt.io/qt-5/qgraphicssceneevent.html does not list this constructor under "Public Functions".

    This constructor is used in the working virtual reality demo at https://github.com/ValveSoftware/openvr/blob/master/samples/helloworldoverlay/openvroverlaycontroller.cpp#L213

    Is it wrong for them to use that constructor?

    Is there a bug in the documentation?

    raven-worxR 1 Reply Last reply
    0
    • SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote on last edited by
      #2

      Hi and welcome to devnet,

      Based on the documentation itself, it's marked as internal.

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      1 Reply Last reply
      1
      • B biospud

        On the one hand, the constructor for the C++ class QGraphicsSceneEvent appears to be public https://github.com/qt/qtbase/blob/5.13/src/widgets/graphicsview/qgraphicssceneevent.h#L67

        However, the documention at https://doc.qt.io/qt-5/qgraphicssceneevent.html does not list this constructor under "Public Functions".

        This constructor is used in the working virtual reality demo at https://github.com/ValveSoftware/openvr/blob/master/samples/helloworldoverlay/openvroverlaycontroller.cpp#L213

        Is it wrong for them to use that constructor?

        Is there a bug in the documentation?

        raven-worxR Offline
        raven-worxR Offline
        raven-worx
        Moderators
        wrote on last edited by raven-worx
        #3

        @biospud said in Is the QGraphicsSceneEvent constructor public?:

        Is it wrong for them to use that constructor?

        no, since it is there it wont change at least until Qt 6 (for the sake of binary compatibility)

        --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
        If you have a question please use the forum so others can benefit from the solution in the future

        B 1 Reply Last reply
        1
        • raven-worxR raven-worx

          @biospud said in Is the QGraphicsSceneEvent constructor public?:

          Is it wrong for them to use that constructor?

          no, since it is there it wont change at least until Qt 6 (for the sake of binary compatibility)

          B Offline
          B Offline
          biospud
          wrote on last edited by biospud
          #4

          I think I understand now. There is a class of functions that are public-in-C++-but-documented internal.

          This means that I probably cannot get PyQt5 to expose the QGraphicsSceneEvent constructor because it is not part of the "public" public API. Plus I am not a paying customer of riverbankcomputing.

          I also probably cannot get the folks at Valve to change the C++ implementation of their demo to not use QGraphicsSceneEvent. Because it works for them, and why should they care whether it's an "internal" call or not?

          So my desire to do a directly literal translation of that C++ demo into python might need to bend or wait.

          PySide2 does expose the QGraphicsSceneEvent constructor in python, but lacks some other things. Fortunately, those other things might be recognizable as bugs by folks other than me. So for the time being I will take the patient long term approach of trying to get those bugs fixed.

          Thanks again for the explanations.

          raven-worxR 1 Reply Last reply
          0
          • B biospud

            I think I understand now. There is a class of functions that are public-in-C++-but-documented internal.

            This means that I probably cannot get PyQt5 to expose the QGraphicsSceneEvent constructor because it is not part of the "public" public API. Plus I am not a paying customer of riverbankcomputing.

            I also probably cannot get the folks at Valve to change the C++ implementation of their demo to not use QGraphicsSceneEvent. Because it works for them, and why should they care whether it's an "internal" call or not?

            So my desire to do a directly literal translation of that C++ demo into python might need to bend or wait.

            PySide2 does expose the QGraphicsSceneEvent constructor in python, but lacks some other things. Fortunately, those other things might be recognizable as bugs by folks other than me. So for the time being I will take the patient long term approach of trying to get those bugs fixed.

            Thanks again for the explanations.

            raven-worxR Offline
            raven-worxR Offline
            raven-worx
            Moderators
            wrote on last edited by
            #5

            @biospud
            C++ > documentation
            what i want to say is, that the application works on code base not on documentation base.
            and also note that Qt is not bug-free, so it might just be that is just not documented by mistake
            nevertheless its safe to use the public constructor

            --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
            If you have a question please use the forum so others can benefit from the solution in the future

            1 Reply Last reply
            0
            • SGaistS Offline
              SGaistS Offline
              SGaist
              Lifetime Qt Champion
              wrote on last edited by
              #6

              For the bits and pieces that are missing, you should check the bug report system to see if there's already something there and otherwise open a feature request or an issue depending on what is missing.

              Interested in AI ? www.idiap.ch
              Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

              B 1 Reply Last reply
              0
              • SGaistS SGaist

                For the bits and pieces that are missing, you should check the bug report system to see if there's already something there and otherwise open a feature request or an issue depending on what is missing.

                B Offline
                B Offline
                biospud
                wrote on last edited by
                #7

                @SGaist Good point. In fact I had already recently opened an issue for my current stumbling block with PySide2 https://bugreports.qt.io/browse/PYSIDE-1090

                1 Reply Last reply
                1

                • Login

                • Login or register to search.
                • First post
                  Last post
                0
                • Categories
                • Recent
                • Tags
                • Popular
                • Users
                • Groups
                • Search
                • Get Qt Extensions
                • Unsolved