Partage
  • Partager sur Facebook
  • Partager sur Twitter

Redimensionner un QPixMap avec 4 ou 8 poignées

(Python3 et PyQt5)

    1 février 2025 à 15:30:37

    Bonjour à tous,

    En espérant une réponse assez rapide.

    Je voudrais redimensionner un QPixmap avec 4 ou 8 poignées, ... j'ai essayé des choses mais je n'y arrive pas. Pouvez-vous m'aider svp ?

    En fait je n'ai pas réussi à faire inter-agir les poignées avec les évènements de la souris.

    Voici un petit script de démarrage :

    from PyQt5.QtWidgets import QGraphicsPixmapItem, QGraphicsScene, QGraphicsView, QApplication
    from PyQt5.QtGui import QPixmap
    from PyQt5.QtCore import QRectF
    
    class CustomPixmapItem(QGraphicsPixmapItem):
        def __init__(self, image_path, parent=None): 
            super().__init__(parent)
            
            pixmap = QPixmap(image_path)
                
            self.rect = QRectF(100, 150, pixmap.width()/2, pixmap.height()/2)
            
            scaled_pixmap = pixmap.scaled(int(self.rect.width()), int(self.rect.height()))
            
            self.setPixmap(scaled_pixmap)
    
            self.setOffset(self.rect.x(), self.rect.y())
            
            self.setFlag(QGraphicsPixmapItem.ItemIsMovable)
            self.setFlag(QGraphicsPixmapItem.ItemIsFocusable)
            self.setFlag(QGraphicsPixmapItem.ItemIsSelectable)
            
            self.affich()
            
        def affich(self):
            print(int(self.rect.width()),  int(self.rect.height()))
    
    if __name__ == "__main__":
        import sys
        
        app = QApplication(sys.argv)
        
        scene = QGraphicsScene()
        scene.setSceneRect(0, 0, 1000, 900)
    
        image_path = './bernard_pras_la_vague_2021.png'
        
        item = CustomPixmapItem(image_path)
        scene.addItem(item)
    
        view = QGraphicsView(scene)
        view.setWindowTitle("Essai QGraphicsPixmapItem")
        view.show()
        
        sys.exit(app.exec_())

    Je vous remercie d'avance.

    -
    Edité par AngeloLama 1 février 2025 à 21:32:02

    • Partager sur Facebook
    • Partager sur Twitter

    Redimensionner un QPixMap avec 4 ou 8 poignées

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    • Editeur
    • Markdown