Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Qt for Python
  4. Draw a rectangle over an image
Forum Updated to NodeBB v4.3 + New Features

Draw a rectangle over an image

Scheduled Pinned Locked Moved Solved Qt for Python
27 Posts 5 Posters 7.4k 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.
  • MarkkyboyM Offline
    MarkkyboyM Offline
    Markkyboy
    wrote on last edited by
    #5

    Code updated @john_hobbyist - sorry, didn't read the part about python!....Oops!, speed reading again!

    Don't just sit there standing around, pick up a shovel and sweep up!

    I live by the sea, not in it.

    J 1 Reply Last reply
    1
    • MarkkyboyM Markkyboy

      Code updated @john_hobbyist - sorry, didn't read the part about python!....Oops!, speed reading again!

      J Offline
      J Offline
      john_hobbyist
      wrote on last edited by
      #6

      @Markkyboy Sorry I do not know QML, moreover I have posted the question under "python" category...Thanks for your time though...

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

        Hi,

        From memory: use a green QPen and a transparent QBrush.

        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
        2
        • J Offline
          J Offline
          john_hobbyist
          wrote on last edited by john_hobbyist
          #8

          This is my try (source: https://stackoverflow.com/questions/61034583/drawing-a-circle-on-a-qwidget-python-gui and https://codeloop.org/pyqt5-drawing-rectangle-with-qpainter-class/). I cannot display the image and then above the image the green transparent rectangle...It depicts only the green rectangle and nothing behind...Why?

          from PyQt5 import QtGui
          import sys
          from PyQt5.QtWidgets import *
          from PyQt5.QtCore import *
          from PyQt5.QtGui import *
           
          class Canvas(QWidget): 
              def __init__(self, photo, *args, **kwargs): 
                  super().__init__(*args, **kwargs) 
                  
                  self.image = QImage(photo)
                  self.setFixedSize(self.image.width(), self.image.height())
                  self.pressed = self.moving = False
                  self.revisions = []
           
                  self.title = "PyQt5 Drawing Rectangle"
                  self.top = 100
                  self.left = 100
                  self.width = 680
                  self.height = 500
           
                  self.InitWindow()
           
              def InitWindow(self):
                  self.setWindowIcon(QtGui.QIcon("icon.png"))
                  self.setWindowTitle(self.title)
                  self.setGeometry(self.top, self.left, self.width, self.height)
                  self.show()
           
              def paintEvent(self, e):
                  painter = QPainter(self)
                  painter.setPen(QPen(Qt.green, 5, Qt.SolidLine))
                  painter.setBrush(QBrush(Qt.transparent))
                  painter.drawRect(100, 150, 400,200)
          
          class MainWindow(QMainWindow):
          
              def __init__(self):
                  super().__init__()
                  w = QWidget()
                  self.setCentralWidget(w)
                  canvas = Canvas('image3.png') 
                  grid = QGridLayout(w)
                  grid.addWidget(canvas)
          
          if __name__ == '__main__':
              app = QApplication(sys.argv)
              gui = MainWindow()
              gui.show()
              sys.exit(app.exec_())
          
          1 Reply Last reply
          0
          • SGaistS Offline
            SGaistS Offline
            SGaist
            Lifetime Qt Champion
            wrote on last edited by
            #9

            Because your are doing nothing with the image beside loading it and you are painting your rectangle in your widget and not on your image.

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

            J 1 Reply Last reply
            1
            • SGaistS SGaist

              Because your are doing nothing with the image beside loading it and you are painting your rectangle in your widget and not on your image.

              J Offline
              J Offline
              john_hobbyist
              wrote on last edited by
              #10

              @SGaist Ok, what to add/fix in the code? Thanks...

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

                Paint the image before the rectangle.

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

                J 1 Reply Last reply
                1
                • SGaistS SGaist

                  Paint the image before the rectangle.

                  J Offline
                  J Offline
                  john_hobbyist
                  wrote on last edited by john_hobbyist
                  #12

                  I have added this command:

                  painter.drawImage(photo)
                  

                  under:

                  painter = QPainter(self)
                  

                  Nothing works...I don't see neither the photo, nor the rectangle... Any idea?

                  1 Reply Last reply
                  0
                  • J Offline
                    J Offline
                    john_hobbyist
                    wrote on last edited by
                    #13

                    I did some other tests, nothing...

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

                      Except that photo is passed only in your __init__ method.

                      Please provide your code rather than lines without context stating that it does not work.

                      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
                      • J Offline
                        J Offline
                        john_hobbyist
                        wrote on last edited by john_hobbyist
                        #15

                        @SGaist Yes, sorry! Here it does not show anything... (source: https://stackoverflow.com/questions/61034583/drawing-a-circle-on-a-qwidget-python-gui and https://codeloop.org/pyqt5-drawing-rectangle-with-qpainter-class/)

                        from PyQt5 import QtGui
                        import sys
                        from PyQt5.QtWidgets import *
                        from PyQt5.QtCore import *
                        from PyQt5.QtGui import *
                         
                        class Canvas(QWidget): 
                            def __init__(self, photo, *args, **kwargs): 
                                super().__init__(*args, **kwargs) 
                                
                                self.image = QImage(photo)
                                self.setFixedSize(self.image.width(), self.image.height())
                                self.pressed = self.moving = False
                                self.revisions = []
                         
                                self.title = "PyQt5 Drawing Rectangle"
                                self.top = 100
                                self.left = 100
                                self.width = 680
                                self.height = 500
                         
                                self.InitWindow()
                         
                            def InitWindow(self):
                                self.setWindowIcon(QtGui.QIcon("icon.png"))
                                self.setWindowTitle(self.title)
                                self.setGeometry(self.top, self.left, self.width, self.height)
                                self.show()
                        
                            def paintEvent(self, e):
                                painter = QPainter(self)
                                painter.drawImage(photo)
                                painter.setPen(QPen(Qt.green, 5, Qt.SolidLine))
                                painter.setBrush(QBrush(Qt.transparent))
                                painter.drawRect(100, 150, 400,200)
                        
                        class MainWindow(QMainWindow):
                        
                            def __init__(self):
                                super().__init__()
                                w = QWidget()
                                self.setCentralWidget(w)
                                canvas = Canvas('image3.png') 
                                grid = QGridLayout(w)
                                grid.addWidget(canvas)
                        
                        if __name__ == '__main__':
                            app = QApplication(sys.argv)
                            gui = MainWindow()
                            gui.show()
                            sys.exit(app.exec_())
                        
                        1 Reply Last reply
                        0
                        • SGaistS Offline
                          SGaistS Offline
                          SGaist
                          Lifetime Qt Champion
                          wrote on last edited by
                          #16

                          And that code runs without triggering an exception ?
                          "photo" is unknown in your paintEvent. You should draw "self.image".

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

                          J 1 Reply Last reply
                          0
                          • SGaistS SGaist

                            And that code runs without triggering an exception ?
                            "photo" is unknown in your paintEvent. You should draw "self.image".

                            J Offline
                            J Offline
                            john_hobbyist
                            wrote on last edited by
                            #17

                            @SGaist If you mean: "painter.drawImage(self.image)" I see neither the image nor the rectangle and many errors...

                            jsulmJ 1 Reply Last reply
                            0
                            • J john_hobbyist

                              @SGaist If you mean: "painter.drawImage(self.image)" I see neither the image nor the rectangle and many errors...

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

                              @john_hobbyist said in Draw a rectangle over an image:

                              many errors

                              Would be nice if you would let us know what errors...

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

                              1 Reply Last reply
                              0
                              • J Offline
                                J Offline
                                john_hobbyist
                                wrote on last edited by john_hobbyist
                                #19

                                @jsulm Yes, of course! The code is this (for source see my previous messages...):

                                from PyQt5 import QtGui
                                import sys
                                from PyQt5.QtWidgets import *
                                from PyQt5.QtCore import *
                                from PyQt5.QtGui import *
                                 
                                class Canvas(QWidget): 
                                    def __init__(self, photo, *args, **kwargs): 
                                        super().__init__(*args, **kwargs) 
                                        
                                        self.image = QImage(photo)
                                        self.setFixedSize(self.image.width(), self.image.height())
                                        self.pressed = self.moving = False
                                        self.revisions = []
                                 
                                        self.title = "PyQt5 Drawing Rectangle"
                                        self.top = 100
                                        self.left = 100
                                        self.width = 680
                                        self.height = 500
                                 
                                        self.InitWindow()
                                 
                                    def InitWindow(self):
                                        self.setWindowIcon(QtGui.QIcon("icon.png"))
                                        self.setWindowTitle(self.title)
                                        self.setGeometry(self.top, self.left, self.width, self.height)
                                        self.show()
                                
                                    def paintEvent(self, e):
                                        painter = QPainter(self)
                                        painter.drawImage(self.image)
                                        painter.setPen(QPen(Qt.green, 5, Qt.SolidLine))
                                        painter.setBrush(QBrush(Qt.transparent))
                                        painter.drawRect(100, 150, 400,200)
                                
                                class MainWindow(QMainWindow):
                                
                                    def __init__(self):
                                        super().__init__()
                                        w = QWidget()
                                        self.setCentralWidget(w)
                                        canvas = Canvas('image3.png') 
                                        grid = QGridLayout(w)
                                        grid.addWidget(canvas)
                                
                                if __name__ == '__main__':
                                    app = QApplication(sys.argv)
                                    gui = MainWindow()
                                    gui.show()
                                    sys.exit(app.exec_())
                                

                                The errors are these:

                                Traceback (most recent call last):
                                  File "draw_fixed_rectangle_with_image.py", line 32, in paintEvent
                                    painter.drawImage(self.image)
                                TypeError: arguments did not match any overloaded call:
                                  drawImage(self, QRectF, QImage): argument 1 has unexpected type 'QImage'
                                  drawImage(self, QRect, QImage): argument 1 has unexpected type 'QImage'
                                  drawImage(self, Union[QPointF, QPoint], QImage): argument 1 has unexpected type 'QImage'
                                  drawImage(self, QPoint, QImage): argument 1 has unexpected type 'QImage'
                                  drawImage(self, int, int, QImage, sx: int = 0, sy: int = 0, sw: int = -1, sh: int = -1, flags: Union[Qt.ImageConversionFlags, Qt.ImageConversionFlag] = Qt.ImageConversionFlag.AutoColor): argument 1 has unexpected type 'QImage'
                                  drawImage(self, QRectF, QImage, QRectF, flags: Union[Qt.ImageConversionFlags, Qt.ImageConversionFlag] = Qt.ImageConversionFlag.AutoColor): argument 1 has unexpected type 'QImage'
                                  drawImage(self, QRect, QImage, QRect, flags: Union[Qt.ImageConversionFlags, Qt.ImageConversionFlag] = Qt.ImageConversionFlag.AutoColor): argument 1 has unexpected type 'QImage'
                                  drawImage(self, Union[QPointF, QPoint], QImage, QRectF, flags: Union[Qt.ImageConversionFlags, Qt.ImageConversionFlag] = Qt.ImageConversionFlag.AutoColor): argument 1 has unexpected type 'QImage'
                                  drawImage(self, QPoint, QImage, QRect, flags: Union[Qt.ImageConversionFlags, Qt.ImageConversionFlag] = Qt.ImageConversionFlag.AutoColor): argument 1 has unexpected type 'QImage'
                                QBackingStore::endPaint() called with active painter; did you forget to destroy it or call QPainter::end() on it?
                                Traceback (most recent call last):
                                  File "draw_fixed_rectangle_with_image.py", line 32, in paintEvent
                                    painter.drawImage(self.image)
                                TypeError: arguments did not match any overloaded call:
                                  drawImage(self, QRectF, QImage): argument 1 has unexpected type 'QImage'
                                  drawImage(self, QRect, QImage): argument 1 has unexpected type 'QImage'
                                  drawImage(self, Union[QPointF, QPoint], QImage): argument 1 has unexpected type 'QImage'
                                  drawImage(self, QPoint, QImage): argument 1 has unexpected type 'QImage'
                                  drawImage(self, int, int, QImage, sx: int = 0, sy: int = 0, sw: int = -1, sh: int = -1, flags: Union[Qt.ImageConversionFlags, Qt.ImageConversionFlag] = Qt.ImageConversionFlag.AutoColor): argument 1 has unexpected type 'QImage'
                                  drawImage(self, QRectF, QImage, QRectF, flags: Union[Qt.ImageConversionFlags, Qt.ImageConversionFlag] = Qt.ImageConversionFlag.AutoColor): argument 1 has unexpected type 'QImage'
                                  drawImage(self, QRect, QImage, QRect, flags: Union[Qt.ImageConversionFlags, Qt.ImageConversionFlag] = Qt.ImageConversionFlag.AutoColor): argument 1 has unexpected type 'QImage'
                                  drawImage(self, Union[QPointF, QPoint], QImage, QRectF, flags: Union[Qt.ImageConversionFlags, Qt.ImageConversionFlag] = Qt.ImageConversionFlag.AutoColor): argument 1 has unexpected type 'QImage'
                                  drawImage(self, QPoint, QImage, QRect, flags: Union[Qt.ImageConversionFlags, Qt.ImageConversionFlag] = Qt.ImageConversionFlag.AutoColor): argument 1 has unexpected type 'QImage'
                                Traceback (most recent call last):
                                  File "draw_fixed_rectangle_with_image.py", line 32, in paintEvent
                                    painter.drawImage(self.image)
                                TypeError: arguments did not match any overloaded call:
                                  drawImage(self, QRectF, QImage): argument 1 has unexpected type 'QImage'
                                  drawImage(self, QRect, QImage): argument 1 has unexpected type 'QImage'
                                  drawImage(self, Union[QPointF, QPoint], QImage): argument 1 has unexpected type 'QImage'
                                  drawImage(self, QPoint, QImage): argument 1 has unexpected type 'QImage'
                                  drawImage(self, int, int, QImage, sx: int = 0, sy: int = 0, sw: int = -1, sh: int = -1, flags: Union[Qt.ImageConversionFlags, Qt.ImageConversionFlag] = Qt.ImageConversionFlag.AutoColor): argument 1 has unexpected type 'QImage'
                                  drawImage(self, QRectF, QImage, QRectF, flags: Union[Qt.ImageConversionFlags, Qt.ImageConversionFlag] = Qt.ImageConversionFlag.AutoColor): argument 1 has unexpected type 'QImage'
                                  drawImage(self, QRect, QImage, QRect, flags: Union[Qt.ImageConversionFlags, Qt.ImageConversionFlag] = Qt.ImageConversionFlag.AutoColor): argument 1 has unexpected type 'QImage'
                                  drawImage(self, Union[QPointF, QPoint], QImage, QRectF, flags: Union[Qt.ImageConversionFlags, Qt.ImageConversionFlag] = Qt.ImageConversionFlag.AutoColor): argument 1 has unexpected type 'QImage'
                                  drawImage(self, QPoint, QImage, QRect, flags: Union[Qt.ImageConversionFlags, Qt.ImageConversionFlag] = Qt.ImageConversionFlag.AutoColor): argument 1 has unexpected type 'QImage'
                                QBackingStore::endPaint() called with active painter; did you forget to destroy it or call QPainter::end() on it?
                                QPaintDevice: Cannot destroy paint device that is being painted
                                
                                
                                jsulmJ 1 Reply Last reply
                                0
                                • J john_hobbyist

                                  @jsulm Yes, of course! The code is this (for source see my previous messages...):

                                  from PyQt5 import QtGui
                                  import sys
                                  from PyQt5.QtWidgets import *
                                  from PyQt5.QtCore import *
                                  from PyQt5.QtGui import *
                                   
                                  class Canvas(QWidget): 
                                      def __init__(self, photo, *args, **kwargs): 
                                          super().__init__(*args, **kwargs) 
                                          
                                          self.image = QImage(photo)
                                          self.setFixedSize(self.image.width(), self.image.height())
                                          self.pressed = self.moving = False
                                          self.revisions = []
                                   
                                          self.title = "PyQt5 Drawing Rectangle"
                                          self.top = 100
                                          self.left = 100
                                          self.width = 680
                                          self.height = 500
                                   
                                          self.InitWindow()
                                   
                                      def InitWindow(self):
                                          self.setWindowIcon(QtGui.QIcon("icon.png"))
                                          self.setWindowTitle(self.title)
                                          self.setGeometry(self.top, self.left, self.width, self.height)
                                          self.show()
                                  
                                      def paintEvent(self, e):
                                          painter = QPainter(self)
                                          painter.drawImage(self.image)
                                          painter.setPen(QPen(Qt.green, 5, Qt.SolidLine))
                                          painter.setBrush(QBrush(Qt.transparent))
                                          painter.drawRect(100, 150, 400,200)
                                  
                                  class MainWindow(QMainWindow):
                                  
                                      def __init__(self):
                                          super().__init__()
                                          w = QWidget()
                                          self.setCentralWidget(w)
                                          canvas = Canvas('image3.png') 
                                          grid = QGridLayout(w)
                                          grid.addWidget(canvas)
                                  
                                  if __name__ == '__main__':
                                      app = QApplication(sys.argv)
                                      gui = MainWindow()
                                      gui.show()
                                      sys.exit(app.exec_())
                                  

                                  The errors are these:

                                  Traceback (most recent call last):
                                    File "draw_fixed_rectangle_with_image.py", line 32, in paintEvent
                                      painter.drawImage(self.image)
                                  TypeError: arguments did not match any overloaded call:
                                    drawImage(self, QRectF, QImage): argument 1 has unexpected type 'QImage'
                                    drawImage(self, QRect, QImage): argument 1 has unexpected type 'QImage'
                                    drawImage(self, Union[QPointF, QPoint], QImage): argument 1 has unexpected type 'QImage'
                                    drawImage(self, QPoint, QImage): argument 1 has unexpected type 'QImage'
                                    drawImage(self, int, int, QImage, sx: int = 0, sy: int = 0, sw: int = -1, sh: int = -1, flags: Union[Qt.ImageConversionFlags, Qt.ImageConversionFlag] = Qt.ImageConversionFlag.AutoColor): argument 1 has unexpected type 'QImage'
                                    drawImage(self, QRectF, QImage, QRectF, flags: Union[Qt.ImageConversionFlags, Qt.ImageConversionFlag] = Qt.ImageConversionFlag.AutoColor): argument 1 has unexpected type 'QImage'
                                    drawImage(self, QRect, QImage, QRect, flags: Union[Qt.ImageConversionFlags, Qt.ImageConversionFlag] = Qt.ImageConversionFlag.AutoColor): argument 1 has unexpected type 'QImage'
                                    drawImage(self, Union[QPointF, QPoint], QImage, QRectF, flags: Union[Qt.ImageConversionFlags, Qt.ImageConversionFlag] = Qt.ImageConversionFlag.AutoColor): argument 1 has unexpected type 'QImage'
                                    drawImage(self, QPoint, QImage, QRect, flags: Union[Qt.ImageConversionFlags, Qt.ImageConversionFlag] = Qt.ImageConversionFlag.AutoColor): argument 1 has unexpected type 'QImage'
                                  QBackingStore::endPaint() called with active painter; did you forget to destroy it or call QPainter::end() on it?
                                  Traceback (most recent call last):
                                    File "draw_fixed_rectangle_with_image.py", line 32, in paintEvent
                                      painter.drawImage(self.image)
                                  TypeError: arguments did not match any overloaded call:
                                    drawImage(self, QRectF, QImage): argument 1 has unexpected type 'QImage'
                                    drawImage(self, QRect, QImage): argument 1 has unexpected type 'QImage'
                                    drawImage(self, Union[QPointF, QPoint], QImage): argument 1 has unexpected type 'QImage'
                                    drawImage(self, QPoint, QImage): argument 1 has unexpected type 'QImage'
                                    drawImage(self, int, int, QImage, sx: int = 0, sy: int = 0, sw: int = -1, sh: int = -1, flags: Union[Qt.ImageConversionFlags, Qt.ImageConversionFlag] = Qt.ImageConversionFlag.AutoColor): argument 1 has unexpected type 'QImage'
                                    drawImage(self, QRectF, QImage, QRectF, flags: Union[Qt.ImageConversionFlags, Qt.ImageConversionFlag] = Qt.ImageConversionFlag.AutoColor): argument 1 has unexpected type 'QImage'
                                    drawImage(self, QRect, QImage, QRect, flags: Union[Qt.ImageConversionFlags, Qt.ImageConversionFlag] = Qt.ImageConversionFlag.AutoColor): argument 1 has unexpected type 'QImage'
                                    drawImage(self, Union[QPointF, QPoint], QImage, QRectF, flags: Union[Qt.ImageConversionFlags, Qt.ImageConversionFlag] = Qt.ImageConversionFlag.AutoColor): argument 1 has unexpected type 'QImage'
                                    drawImage(self, QPoint, QImage, QRect, flags: Union[Qt.ImageConversionFlags, Qt.ImageConversionFlag] = Qt.ImageConversionFlag.AutoColor): argument 1 has unexpected type 'QImage'
                                  Traceback (most recent call last):
                                    File "draw_fixed_rectangle_with_image.py", line 32, in paintEvent
                                      painter.drawImage(self.image)
                                  TypeError: arguments did not match any overloaded call:
                                    drawImage(self, QRectF, QImage): argument 1 has unexpected type 'QImage'
                                    drawImage(self, QRect, QImage): argument 1 has unexpected type 'QImage'
                                    drawImage(self, Union[QPointF, QPoint], QImage): argument 1 has unexpected type 'QImage'
                                    drawImage(self, QPoint, QImage): argument 1 has unexpected type 'QImage'
                                    drawImage(self, int, int, QImage, sx: int = 0, sy: int = 0, sw: int = -1, sh: int = -1, flags: Union[Qt.ImageConversionFlags, Qt.ImageConversionFlag] = Qt.ImageConversionFlag.AutoColor): argument 1 has unexpected type 'QImage'
                                    drawImage(self, QRectF, QImage, QRectF, flags: Union[Qt.ImageConversionFlags, Qt.ImageConversionFlag] = Qt.ImageConversionFlag.AutoColor): argument 1 has unexpected type 'QImage'
                                    drawImage(self, QRect, QImage, QRect, flags: Union[Qt.ImageConversionFlags, Qt.ImageConversionFlag] = Qt.ImageConversionFlag.AutoColor): argument 1 has unexpected type 'QImage'
                                    drawImage(self, Union[QPointF, QPoint], QImage, QRectF, flags: Union[Qt.ImageConversionFlags, Qt.ImageConversionFlag] = Qt.ImageConversionFlag.AutoColor): argument 1 has unexpected type 'QImage'
                                    drawImage(self, QPoint, QImage, QRect, flags: Union[Qt.ImageConversionFlags, Qt.ImageConversionFlag] = Qt.ImageConversionFlag.AutoColor): argument 1 has unexpected type 'QImage'
                                  QBackingStore::endPaint() called with active painter; did you forget to destroy it or call QPainter::end() on it?
                                  QPaintDevice: Cannot destroy paint device that is being painted
                                  
                                  
                                  jsulmJ Offline
                                  jsulmJ Offline
                                  jsulm
                                  Lifetime Qt Champion
                                  wrote on last edited by jsulm
                                  #20

                                  @john_hobbyist Please take a look at documentation: https://doc.qt.io/qt-5/qpainter.html
                                  What are drawImage() parameters? And what do you pass to it? It is quite apparent what you are doing wrong even from the error message itself:

                                  drawImage(self, QRectF, QImage): argument 1 has unexpected type 'QImage'
                                  

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

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

                                    The error is pretty explicit. There's no overload of drawImage that takes only a QImage as parameter. It's always the second one.

                                    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
                                    • J Offline
                                      J Offline
                                      john_hobbyist
                                      wrote on last edited by
                                      #22

                                      Thank you all for your time and your significant comments! I mark it as "Solved!"

                                      1 Reply Last reply
                                      0
                                      • J Offline
                                        J Offline
                                        john_hobbyist
                                        wrote on last edited by john_hobbyist
                                        #23

                                        Just a small question, in case I want to depict the rectangle in an image displayed in this application: https://github.com/Axel-Erfurt/OrthoViewLite/blob/main/OrthoViewLite.py how can I achieve that? Where should I place the above code?

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

                                          What is this rectangle supposed to do in your application ? Depending on that, it would be simpler to use a QRubberBand.

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

                                          J 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