Vous utilisez un navigateur obsolète, veuillez le mettre à jour.
Veuillez utiliser un navigateur internet moderne avec JavaScript activé pour naviguer sur OpenClassrooms.com
Une question ? Pas de panique, on va vous aider !
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
https://trajectoire.net/socialreseau
https://apscworld.laginette.com
https://laginette.com/me
Vous pouvez rédiger votre message en Markdown ou en HTML uniquement.
https://trajectoire.net/socialreseau
https://apscworld.laginette.com
https://laginette.com/me