Je ne suis pas vraiment débutant dans Qt, mais il y a quelques choses que je ne sais pas ... Je programme en Python, mais n'hésitez pas à poster vos réponses dans N'IMPORTE QUELLE langue.Make QGraphicsView faire centerOn lisse
, j'ai quelques QGraphicsItem (s), placé à l'intérieur d'un QGraphicsScene, la scène est vue avec une normale QGraphicsView. Tout est normal.
Ma scène est très grande, 10 000 x 10 000 pixels, tous les éléments graphiques sont dispersés.
Par exemple:
# Creating Scene object. scene = QtGui.QGraphicsScene() scene.setSceneRect(0, 0, 10000, 10000) # Creating View object. view = QtGui.QGraphicsView() view.setScene(scene) # Adding some objects to scene. # scene.addItem(...) # ... # The list of items. items = scene.items() # This is how i center on item. view.centerOn(some_item) view.fitInView(some_item, Qt.KeepAspectRatio)
Ma question est, comment i peut centrer la vue sur chaque élément, en utilisant quelque chose de similaire à centerOn, mais en douceur?
Actuellement, centerOn va FAST sur l'élément suivant, je veux le déplacer légèrement, peut-être en utilisant QPropertyAnimation avec courbe d'accélération?
J'ai essayé de déplacer la vue à l'article suivant en utilisant view.translate (1, 1) dans un grand cicle, mais le mouvement est trop rapide, tout comme centerOn.
J'ai essayé de mettre un peu d'attente avec time.sleep (0.01) entre la traduction, mais les blocs de fenêtres jusqu'à ce que le cicle existe ... donc c'est mauvais.
Merci beaucoup!