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. Qt documentation "List of all members..." omits certain method(s)
QtWS25 Last Chance

Qt documentation "List of all members..." omits certain method(s)

Scheduled Pinned Locked Moved Unsolved General and Desktop
5 Posts 3 Posters 407 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.
  • JonBJ Online
    JonBJ Online
    JonB
    wrote on last edited by JonB
    #1

    I have come a cropper on a certain inherited method "disappearing" at some point when I use doc pages' List of all members, including inherited members link. I do not know whether this is an isolated incident or points to a more widespread problem.

    Take the void QWidget::update() Public Slots method.

    • If you go to QAbstractScrollArea Class and click its List of all members, including inherited members link, https://doc.qt.io/qt-5/qabstractscrollarea-members.html does still show inherited update() method (in the "early" part of the list, where it puts e.g. slots before other members). This is fine and correct.

    • But if you go up to QAbstractItemView Class and click its List of all members, including inherited members link, https://doc.qt.io/qt-5/qabstractitemview-members.html, the update() slot inherited from QAbstractScrollArea/QWidget is completely missing/absent. So for QAbstractItemView and anything inheriting from it I no longer know there is still an update() method; this caused me much grief/head-scratching till I discovered it was just missing. :(

    The reason may be: QAbstractItemView has its own void QAbstractItemView::update(const QModelIndex &index) Public Slots method. However, this does not hide/override the base QWidget::update() method, as it takes different parameters.

    I don't know whether the Qt docs' List of all members, including inherited members link page is generated "automatically" by inspection of base class members or whether it is maintained manually by someone. I would have thought the former but perhaps that is not available and it is the latter. So I don't know whether this is a one-off case for just that update() method or a more general problem with other inherited methods/slots/whatever.

    BTW, this update() "missing method in list" is still present in corresponding Qt6 docs pages.

    Pl45m4P 1 Reply Last reply
    0
    • JonBJ JonB

      I have come a cropper on a certain inherited method "disappearing" at some point when I use doc pages' List of all members, including inherited members link. I do not know whether this is an isolated incident or points to a more widespread problem.

      Take the void QWidget::update() Public Slots method.

      • If you go to QAbstractScrollArea Class and click its List of all members, including inherited members link, https://doc.qt.io/qt-5/qabstractscrollarea-members.html does still show inherited update() method (in the "early" part of the list, where it puts e.g. slots before other members). This is fine and correct.

      • But if you go up to QAbstractItemView Class and click its List of all members, including inherited members link, https://doc.qt.io/qt-5/qabstractitemview-members.html, the update() slot inherited from QAbstractScrollArea/QWidget is completely missing/absent. So for QAbstractItemView and anything inheriting from it I no longer know there is still an update() method; this caused me much grief/head-scratching till I discovered it was just missing. :(

      The reason may be: QAbstractItemView has its own void QAbstractItemView::update(const QModelIndex &index) Public Slots method. However, this does not hide/override the base QWidget::update() method, as it takes different parameters.

      I don't know whether the Qt docs' List of all members, including inherited members link page is generated "automatically" by inspection of base class members or whether it is maintained manually by someone. I would have thought the former but perhaps that is not available and it is the latter. So I don't know whether this is a one-off case for just that update() method or a more general problem with other inherited methods/slots/whatever.

      BTW, this update() "missing method in list" is still present in corresponding Qt6 docs pages.

      Pl45m4P Offline
      Pl45m4P Offline
      Pl45m4
      wrote on last edited by Pl45m4
      #2

      @JonB

      Have you read the Note under Details? :)

      If you inherit QAbstractItemView and intend to update the contents of the viewport,
      you should use viewport->update() instead of QWidget::update() as all painting operations take place on the
      viewport.

      ( https://doc.qt.io/qt-5/qabstractitemview.html#details)

      Dont know, if they left out QWidget::update() intentionally because you probably dont want to use it or if they forgot to put it on that list of inherited members.


      If debugging is the process of removing software bugs, then programming must be the process of putting them in.

      ~E. W. Dijkstra

      JonBJ 1 Reply Last reply
      0
      • Pl45m4P Pl45m4

        @JonB

        Have you read the Note under Details? :)

        If you inherit QAbstractItemView and intend to update the contents of the viewport,
        you should use viewport->update() instead of QWidget::update() as all painting operations take place on the
        viewport.

        ( https://doc.qt.io/qt-5/qabstractitemview.html#details)

        Dont know, if they left out QWidget::update() intentionally because you probably dont want to use it or if they forgot to put it on that list of inherited members.

        JonBJ Online
        JonBJ Online
        JonB
        wrote on last edited by JonB
        #3

        @Pl45m4 said in Qt documentation "List of all members..." omits certain method(s):

        because you probably dont want to use it or if they forgot to put it on that list of inherited members.

        I deffo want to use it because that's why I was looking for it! It's not their job to "decide for me" whether to include a member because they "don't think I will want it"! :)

        Originally I assumed the inherited members list is generated automatically for them, and there is a fault in whatever does that. Maybe you are right and they actually maintain this list by hand!

        1 Reply Last reply
        0
        • kkoehneK Offline
          kkoehneK Offline
          kkoehne
          Moderators
          wrote on last edited by
          #4

          The list is auto-generated, and that QWidget::update() is missing looks like a bug. Created https://bugreports.qt.io/browse/QTBUG-102342 to track this. Thanks for notifying!

          Director R&D, The Qt Company

          JonBJ 1 Reply Last reply
          4
          • kkoehneK kkoehne

            The list is auto-generated, and that QWidget::update() is missing looks like a bug. Created https://bugreports.qt.io/browse/QTBUG-102342 to track this. Thanks for notifying!

            JonBJ Online
            JonBJ Online
            JonB
            wrote on last edited by
            #5

            @kkoehne said in Qt documentation "List of all members..." omits certain method(s):

            The list is auto-generated

            Ah ha! :)

            and that QWidget::update() is missing looks like a bug

            OK, OOI was it only that one QWidget::update() method?

            1 Reply Last reply
            0

            • Login

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