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. Errors in EventLogger. This eventlogger is designed on Qt5 but having these errors in QT 6.2
Forum Updated to NodeBB v4.3 + New Features

Errors in EventLogger. This eventlogger is designed on Qt5 but having these errors in QT 6.2

Scheduled Pinned Locked Moved Solved General and Desktop
13 Posts 6 Posters 801 Views 1 Watching
  • 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.
  • Christian EhrlicherC Christian Ehrlicher

    See the deprecation information about those functions in Qt5, e.g. https://doc.qt.io/qt-5/qtime-obsolete.html and https://doc.qt.io/qt-5/qpixmap-obsolete.html

    To measure a timespan, use QElapsedTimer, for QPixmap see the deprecated function page.

    Aviral 0A Offline
    Aviral 0A Offline
    Aviral 0
    wrote on last edited by
    #4

    @Christian-Ehrlicher I have solved the problem of QTime with QElapsedTimer
    But I can't find replacement of QPixmap. Please if you can find share.

    jsulmJ 1 Reply Last reply
    0
    • Aviral 0A Aviral 0

      @Christian-Ehrlicher I have solved the problem of QTime with QElapsedTimer
      But I can't find replacement of QPixmap. Please if you can find share.

      jsulmJ Offline
      jsulmJ Offline
      jsulm
      Lifetime Qt Champion
      wrote on last edited by
      #5

      @Aviral-0 From the link @Christian-Ehrlicher gave you:

      QPixmap QPixmap::grabWidget(QObject *widget, const QRect &rectangle)
      
      This function is obsolete. It is provided to keep old source code working. We strongly advise against using it in new code.
      
      Use QWidget::grab() instead.
      

      So, what about using grab() instead of grabWidget()?

      https://forum.qt.io/topic/113070/qt-code-of-conduct

      Aviral 0A 2 Replies Last reply
      1
      • jsulmJ jsulm

        @Aviral-0 From the link @Christian-Ehrlicher gave you:

        QPixmap QPixmap::grabWidget(QObject *widget, const QRect &rectangle)
        
        This function is obsolete. It is provided to keep old source code working. We strongly advise against using it in new code.
        
        Use QWidget::grab() instead.
        

        So, what about using grab() instead of grabWidget()?

        Aviral 0A Offline
        Aviral 0A Offline
        Aviral 0
        wrote on last edited by
        #6

        @jsulm Yeah I am trying it, and its throwing error saying
        call to non static member function without an object argument
        If you know what change its aking?

        Christian EhrlicherC 1 Reply Last reply
        0
        • Aviral 0A Aviral 0

          @jsulm Yeah I am trying it, and its throwing error saying
          call to non static member function without an object argument
          If you know what change its aking?

          Christian EhrlicherC Offline
          Christian EhrlicherC Offline
          Christian Ehrlicher
          Lifetime Qt Champion
          wrote on last edited by
          #7

          @Aviral-0 said in Errors in EventLogger. This eventlogger is designed on Qt5 but having these errors in QT 6.2:

          all to non static member function without an object argument

          Because QWidget::grab() is not a static function. You have to call it on an object (mainWidget I would guess) - plain c++ stuff.

          Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
          Visit the Qt Academy at https://academy.qt.io/catalog

          1 Reply Last reply
          1
          • jsulmJ jsulm

            @Aviral-0 From the link @Christian-Ehrlicher gave you:

            QPixmap QPixmap::grabWidget(QObject *widget, const QRect &rectangle)
            
            This function is obsolete. It is provided to keep old source code working. We strongly advise against using it in new code.
            
            Use QWidget::grab() instead.
            

            So, what about using grab() instead of grabWidget()?

            Aviral 0A Offline
            Aviral 0A Offline
            Aviral 0
            wrote on last edited by Aviral 0
            #8

            @jsulm I have done this, please suggest where I am wrong:

             if (this->screenshotsEnabled && eventType.compare("MouseMove") != 0)
              {
                QPixmap *gb;
                gb mainWidget->grab().toImage().save(screenshotDirName + "/" + QString::number(elapsedTime) + ".png", "PNG");
            }
            

            Its showing error, Please Help!

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

              Hi,

              You are missing an = sign.

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

              Aviral 0A 1 Reply Last reply
              0
              • SGaistS SGaist

                Hi,

                You are missing an = sign.

                Aviral 0A Offline
                Aviral 0A Offline
                Aviral 0
                wrote on last edited by
                #10

                @SGaist with = also its showing error

                SGaistS 1 Reply Last reply
                0
                • Aviral 0A Aviral 0

                  @SGaist with = also its showing error

                  SGaistS Offline
                  SGaistS Offline
                  SGaist
                  Lifetime Qt Champion
                  wrote on last edited by
                  #11

                  @Aviral-0 said in Errors in EventLogger. This eventlogger is designed on Qt5 but having these errors in QT 6.2:

                  @SGaist with = also its showing error

                  You do realise that "showing error" gives no information to help you with ?

                  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
                  • Aviral 0A Aviral 0

                    @jsulm I have done this, please suggest where I am wrong:

                     if (this->screenshotsEnabled && eventType.compare("MouseMove") != 0)
                      {
                        QPixmap *gb;
                        gb mainWidget->grab().toImage().save(screenshotDirName + "/" + QString::number(elapsedTime) + ".png", "PNG");
                    }
                    

                    Its showing error, Please Help!

                    C Offline
                    C Offline
                    ChrisW67
                    wrote on last edited by
                    #12

                    @Aviral-0 said in Errors in EventLogger. This eventlogger is designed on Qt5 but having these errors in QT 6.2:

                    if (this->screenshotsEnabled && eventType.compare("MouseMove") != 0)
                    {
                    QPixmap *gb;
                    gb mainWidget->grab().toImage().save(screenshotDirName + "/" + QString::number(elapsedTime) + ".png", "PNG");
                    }

                    Its showing error, Please Help!
                    

                    As @SGaist points out, you are missing a "=".

                    You are also not initialising your pointer (a C++ cardinal sin) but ultimately that's a moot point.
                    QWidget::grab() returns an actual QPixmap, not a pointer to one.
                    There is also no need to convert the QPixmap to a QImage in order to save it: QPixmap::save().

                     if (this->screenshotsEnabled && eventType.compare("MouseMove") != 0)
                     {
                        QPixmap gb = mainWidget->grab();
                        gb.save(screenshotDirName + "/" + QString::number(elapsedTime) + ".png", "PNG");\
                        // Consider whether you need to check that the save was successful
                    }
                    
                    1 Reply Last reply
                    2
                    • A Offline
                      A Offline
                      AlmaCarreon
                      Banned
                      wrote on last edited by AlmaCarreon
                      #13
                      This post is deleted!
                      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