IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Discussion :

Scale de la vue sauf sur certains QGraphicsItem [Graphics View]


Sujet :

Qt

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 201
    Par défaut Scale de la vue sauf sur certains QGraphicsItem
    Salut à tous,

    Je développe une application qui permet de créer différentes formes et de les redimensionner.
    Pour ceci, j'utilise des "ancres" aux coins et sur les cotés de mes formes qui ne sont en fait que de simples carrés (QGraphicsItem).
    Pour zoomer, je me sers de la fonction scale() de QGraphicsView.
    En faisant ainsi, tous les enfants de la scène sont redimensionnés et jusque là c'est le comportement que je souhaitais obtenir.

    Mais j'ai un problème avec les formes de petite taille.
    Si j'effectue un zoom important et que je dessine un tout petit cercle par exemple, les "ancres" sont trop grosses (car redimensionnées).

    Ce que je souhaite, c'est que seules ces ancres ne soient pas rendimensionnées sur ma scène.
    J'ai essayé d'appliquer une mise à l'échelle inverse sur chacune d'entre elles avec la fonction setScale et QGraphicsItem, sans résultat...

    Une solution pourrait être de redimensionner chaque élément séparément, mais je souhaiterais conserver l'utilisation de la fonction scale() de QGraphicsView...

    Voici une image du problème (à gauche, le petit cercle n'a pas le focus, à droite c'est l'inverse):


  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 201
    Par défaut
    C'est bon !

    J'ai utilisé le flag QGraphicsItem::ItemIgnoresTransformation si ça intéresse quelqu'un...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 16
    Par défaut
    Citation Envoyé par hush Voir le message
    C'est bon !

    J'ai utilisé le flag QGraphicsItem::ItemIgnoresTransformation si ça intéresse quelqu'un...
    Je pense que nous devons être nombreux à créer à la main des anchors pour le redimensionnement des objets graphiques...

    Peut être que Qt, de base, pourrait un jour proposer cette fonction nativement..


    Par ailleurs si un jour tu as des soucis avec le redimensionnement de QGraphicsPixmapItem, alors on sera 2 ou plus... En effet il faut réimplémenter "paint", "boundingRect" et on est toujours pas au bout de nos soucis (je n'arrive pas à cliquer sur une image agrandie, en dehors de sa taille d'origine...)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/05/2014, 13h48
  2. Redirection au clique sauf sur certains éléments
    Par neo18045 dans le forum jQuery
    Réponses: 2
    Dernier message: 01/08/2013, 15h22
  3. VBS + lancement d'un programme sauf sur certain poste
    Par genius2139 dans le forum VBScript
    Réponses: 15
    Dernier message: 03/05/2012, 09h42
  4. Droits seulement sur certaines vues et procédures
    Par goony dans le forum Administration
    Réponses: 1
    Dernier message: 17/12/2010, 23h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo