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 :

Délégué personnalisé sur un QTreeView


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Délégué personnalisé sur un QTreeView
    Bonjour,

    j'essaie de comprendre comment un QTextDocument peut interagir sur la hauteur d'une ligne d'un QTreeview et d'abord comment je peux obtenir l'affichage de mes voeux.

    Pour l'instant j'en suis là.
    Nom : 001.png
Affichages : 215
Taille : 14,0 Ko
    Le 2ème <li> est trop long. Ma stratégie est d'utiliser la hauteur comme variable d'ajustement, la largeur étant définie. Je passe évidemment par un QAbstractTextDocumentLayout mais comment puis-je obtenir
    1. Un formatage adapté (un retour à la ligne automatique)
    2. la hauteur nécessaire (si nécessaire parce qu'à priori la hauteur de la ligne ne s'adapte pas automatiquement) ?

    Car je peux évidemment définir (affecter) la largeur du QTextDocument mais à ce moment, je ne peux pas récupérer sa hauteur et l'affecter... ce qui me laisse supposer que j'aborde mal le sujet ou qu'il y a un automatisme que je ne maîtrise pas.
    Nom : 002.png
Affichages : 189
Taille : 18,2 Ko

    Merci.
    Dernière modification par Invité ; 31/01/2015 à 11h11.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Fausse joie. La hauteur des lignes reste constante et son calcul semble délicat... Normalement une affectation d'un doc.setTextWidth(widthTmp); permet de récupérer la hauteur nécessaire par un doc.size().height(); Le problème est que dans le delegate, je n'arrive pas à récupérer la largeur utilisée pour l'affichage compte tenu des décalages :
    Nom : 003.png
Affichages : 182
Taille : 28,4 Ko
    Dernière modification par Invité ; 31/01/2015 à 15h14.

  3. #3
    Invité
    Invité(e)
    Par défaut
    OK. C'est maintenant réglé. Le problème était l'ordre d'exécution de mon QSize tvHTMLdelegate::sizeHint et du void tvHTMLdelegate::paint et donc l'ordre de récupération des informations nécessaires (besoin du Painter). Evidemment je ne l'ai pas changé. Cela fonctionnait mais avec une ligne de retard... Il suffisait d'anticiper.
    Nom : 004.png
Affichages : 189
Taille : 21,1 Ko
    Nom : 005.png
Affichages : 182
Taille : 23,9 Ko
    Mais je suppose qu'il y a moyen de faire autrement, je veux dire plus proprement.

    PS : Comme d'habitude (ie contrairement au forum de Lazarus et Delphi où l'aide est quasiment instantanée), lors de cette nouvelle tentative d'utilisation, je me parle tout seul dans ce forum Qt... OK, j'avais posé la question dans la rubrique QtCreator... Mais elle a été rapidement replacée au bon endroit. C'est quand même assez déroutant. OK, c'est le WE, mais souvent aussi chez les Pascaliens quand je leur demande de l'aide. Sans polémique, je subodore un état d'esprit différent. Ou, je ne dois pas parler la langue pratiquée ici : Curieux tout de même...
    Dernière modification par Invité ; 31/01/2015 à 15h18.

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

Discussions similaires

  1. Envoi de packet personnalisé sur réseau
    Par Kyom dans le forum C#
    Réponses: 2
    Dernier message: 09/09/2008, 10h42
  2. Message personnalisé sur doublons
    Par Nounours1 dans le forum VBA Access
    Réponses: 5
    Dernier message: 13/12/2007, 20h12
  3. [VBA-W2007]Menu personnalisé sur le clic droit
    Par tazamorte dans le forum VBA Word
    Réponses: 3
    Dernier message: 15/06/2007, 11h23
  4. Réponses: 7
    Dernier message: 26/05/2006, 19h45

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