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. Debug messages
Forum Updated to NodeBB v4.3 + New Features

Debug messages

Scheduled Pinned Locked Moved Solved General and Desktop
6 Posts 3 Posters 612 Views 4 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.
  • PerdrixP Offline
    PerdrixP Offline
    Perdrix
    wrote on last edited by Perdrix
    #1

    I've followed a suggestion to integrate Qt logging into my application trace to record the Qt errors in my log file to track down the source of some Qt debug messages:

    QPainter::begin: Paint device returned engine == 0, type: 2
    QPainter::setRenderHint: Painter must be active to set rendering hints
    QPainter::setRenderHint: Painter must be active to set rendering hints
    

    This led me to the following code:

        void ImageView::drawOnPixmap()
        {
            ZFUNCTRACE_RUNTIME();
            QPainter painter(&m_drawingPixmap);
            QPalette palette{ QGuiApplication::palette() };
            QBrush brush{ palette.dark() };
    
            qDebug() << "painter.setRenderHint(QPainter::Antialiasing);";
            painter.setRenderHint(QPainter::Antialiasing);
            qDebug() << "painter.setRenderHint(QPainter::SmoothPixmapTransform);";
            painter.setRenderHint(QPainter::SmoothPixmapTransform);
    

    What am I doing wrong or not doing?

    Thank you
    David

    SGaistS JoeCFDJ 2 Replies Last reply
    0
    • PerdrixP Perdrix

      I've followed a suggestion to integrate Qt logging into my application trace to record the Qt errors in my log file to track down the source of some Qt debug messages:

      QPainter::begin: Paint device returned engine == 0, type: 2
      QPainter::setRenderHint: Painter must be active to set rendering hints
      QPainter::setRenderHint: Painter must be active to set rendering hints
      

      This led me to the following code:

          void ImageView::drawOnPixmap()
          {
              ZFUNCTRACE_RUNTIME();
              QPainter painter(&m_drawingPixmap);
              QPalette palette{ QGuiApplication::palette() };
              QBrush brush{ palette.dark() };
      
              qDebug() << "painter.setRenderHint(QPainter::Antialiasing);";
              painter.setRenderHint(QPainter::Antialiasing);
              qDebug() << "painter.setRenderHint(QPainter::SmoothPixmapTransform);";
              painter.setRenderHint(QPainter::SmoothPixmapTransform);
      

      What am I doing wrong or not doing?

      Thank you
      David

      JoeCFDJ Offline
      JoeCFDJ Offline
      JoeCFD
      wrote on last edited by JoeCFD
      #3

      @Perdrix said in Debug messages:

      you may need to check if m_drawingPixmap is empty?

          void ImageView::drawOnPixmap()
          {
              if (  m_drawingPixmap.isNull() ) 
              {
                    return;
              }
      
              ZFUNCTRACE_RUNTIME();
              QPainter painter(&m_drawingPixmap);
      
      PerdrixP 1 Reply Last reply
      1
      • PerdrixP Perdrix

        I've followed a suggestion to integrate Qt logging into my application trace to record the Qt errors in my log file to track down the source of some Qt debug messages:

        QPainter::begin: Paint device returned engine == 0, type: 2
        QPainter::setRenderHint: Painter must be active to set rendering hints
        QPainter::setRenderHint: Painter must be active to set rendering hints
        

        This led me to the following code:

            void ImageView::drawOnPixmap()
            {
                ZFUNCTRACE_RUNTIME();
                QPainter painter(&m_drawingPixmap);
                QPalette palette{ QGuiApplication::palette() };
                QBrush brush{ palette.dark() };
        
                qDebug() << "painter.setRenderHint(QPainter::Antialiasing);";
                painter.setRenderHint(QPainter::Antialiasing);
                qDebug() << "painter.setRenderHint(QPainter::SmoothPixmapTransform);";
                painter.setRenderHint(QPainter::SmoothPixmapTransform);
        

        What am I doing wrong or not doing?

        Thank you
        David

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

        Hi,

        When are you calling that function ?

        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
        0
        • PerdrixP Perdrix

          I've followed a suggestion to integrate Qt logging into my application trace to record the Qt errors in my log file to track down the source of some Qt debug messages:

          QPainter::begin: Paint device returned engine == 0, type: 2
          QPainter::setRenderHint: Painter must be active to set rendering hints
          QPainter::setRenderHint: Painter must be active to set rendering hints
          

          This led me to the following code:

              void ImageView::drawOnPixmap()
              {
                  ZFUNCTRACE_RUNTIME();
                  QPainter painter(&m_drawingPixmap);
                  QPalette palette{ QGuiApplication::palette() };
                  QBrush brush{ palette.dark() };
          
                  qDebug() << "painter.setRenderHint(QPainter::Antialiasing);";
                  painter.setRenderHint(QPainter::Antialiasing);
                  qDebug() << "painter.setRenderHint(QPainter::SmoothPixmapTransform);";
                  painter.setRenderHint(QPainter::SmoothPixmapTransform);
          

          What am I doing wrong or not doing?

          Thank you
          David

          JoeCFDJ Offline
          JoeCFDJ Offline
          JoeCFD
          wrote on last edited by JoeCFD
          #3

          @Perdrix said in Debug messages:

          you may need to check if m_drawingPixmap is empty?

              void ImageView::drawOnPixmap()
              {
                  if (  m_drawingPixmap.isNull() ) 
                  {
                        return;
                  }
          
                  ZFUNCTRACE_RUNTIME();
                  QPainter painter(&m_drawingPixmap);
          
          PerdrixP 1 Reply Last reply
          1
          • JoeCFDJ JoeCFD

            @Perdrix said in Debug messages:

            you may need to check if m_drawingPixmap is empty?

                void ImageView::drawOnPixmap()
                {
                    if (  m_drawingPixmap.isNull() ) 
                    {
                          return;
                    }
            
                    ZFUNCTRACE_RUNTIME();
                    QPainter painter(&m_drawingPixmap);
            
            PerdrixP Offline
            PerdrixP Offline
            Perdrix
            wrote on last edited by
            #4

            @JoeCFD Good thought - it shouldn't be called with a null pixmap but ...

            JoeCFDJ 1 Reply Last reply
            0
            • PerdrixP Perdrix

              @JoeCFD Good thought - it shouldn't be called with a null pixmap but ...

              JoeCFDJ Offline
              JoeCFDJ Offline
              JoeCFD
              wrote on last edited by
              #5

              @Perdrix "Paint device returned engine == 0" may indicate: the image is empty.

              PerdrixP 1 Reply Last reply
              1
              • JoeCFDJ JoeCFD

                @Perdrix "Paint device returned engine == 0" may indicate: the image is empty.

                PerdrixP Offline
                PerdrixP Offline
                Perdrix
                wrote on last edited by
                #6

                @JoeCFD Yes, that was the problem Adding the proposed code fixed the problem.

                1 Reply Last reply
                0
                • PerdrixP Perdrix has marked this topic as solved on

                • Login

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