2017-10-11 10 views
0

J'ai une scène où je peins une série d'éléments en utilisant un processus de glisser-déposer. Ce que je veux faire est de placer l'objet où je le perds, ne l'échelle pas automatiquement. Ce qui m'arrive c'est que si, par exemple, avoir la scène vide, je traîne un objet et le relâche très près du côté droit de la scène, cela me met au milieu et ce n'est pas ce que je veux. Ce que je veux, c'est le mettre là où je le laisse partir et si l'objet ne pénètre pas dans l'axe horizontal, le défilement horizontal apparaît pour que l'utilisateur puisse le voir.Désactiver QGraphicsScene autoscale

Merci.

Répondre

0

Il est seulement question de la géométrie,

Pour désactiver l'échelle automatique, vous devez fixer la taille de votre scène http://doc.qt.io/qt-5/qgraphicsscene.html#sceneRect-prop

Vous devez vérifier la position de la souris sur votre article et sur scène pour le placer, et après cela, vérifiez le cadre de votre article et s'il ne pénètre pas dans l'axe horizontal, redimensionnez votre scène.

voir les draggableicons exemple Qt pour la position, https://doc.qt.io/qt-5/qtwidgets-draganddrop-draggableicons-example.html, et après cela, essayez de redimensionner votre scène si elle ne correspond pas à