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 :

Imprimer en couleur


Sujet :

Qt

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 63
    Points : 51
    Points
    51
    Par défaut Imprimer en couleur
    Bonjour tout le monde,

    Je cherche à imprimer du texte avec des lignes de couleurs différentes.

    Pour imprimer je formate d'abord un QTextDocument auquel on peut appliquer un QFont (police utilisée, taille de la police, italic ou non... ) et ensuite je me sers de la fonction print de cette classe. L'impression se passe sans souci.

    Par contre je ne trouve rien pour affecter une couleur à mes lignes. Bizarre non?

    Il faut que je dérive la classe pour lui ajouter cette propriété ou j'ai loupé quelque chose?

  2. #2
    Candidat au Club
    Inscrit en
    Mai 2010
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 3
    Points : 3
    Points
    3
    Par défaut mettre de la couleur dans un texte
    Bonjour,
    Il est possible d'utiliser la méthode setStyleSheet, mais pas dans un QTextDocument, par contre elle existe pour un QTextEdit.
    Donc je crois que tu peux appliquer la méthode à un objet que tu pourras mettre dans ton QTextDocument et puis obtenir la couleur.
    J'ai déjà utilisé une autre solution :
    1-Tu mets du html dans une QString.
    2- Tu peux appliquer un design à ta page html et ensuite tu appliques la méthode setHtml : setHtml ( const QString & ) à un QTextDocument et le tour est joué.

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 63
    Points : 51
    Points
    51
    Par défaut
    Bonjour et merci de répondre.

    En effet, je pourrais ajouter de la couleur à mon document à imprimer.
    Seulement celle-ci s'applique à tout le document.
    Et je cherche vraiment à imprimer chaque ligne d'une couleur différente.
    Toutes les classes qui font appel à la fonction "print" nécessitent de passer par un "setPlainText" ou "setText" qui prennent en paramètre un QString.

    Une fois le texte ajouté, j'ai perdu ma propriété de couleur puisque rien n'est fait pour ça dans QString et c'est bien normal...

    Mais je ne comprends pas pourquoi on ne peut pas mettre en forme le texte ligne après ligne, ce qui est quand même fondamental quand on veut imprimer du texte.

  4. #4
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 63
    Points : 51
    Points
    51
    Par défaut
    Bon, disons que j'avais la réponse depuis le début
    Comme l'a dit cabzancan, il faut mettre du html dans une string pour faire une mise en forme... ( ceci dit je ne trouve pas ça logique du tout! )

    Donc, pour un mot en particulier ou une ligne ou ce que vous voulez... Il suffit d'encadrer votre texte de stupides balises html :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    QTextDocument Doc;
    QString Texte;
     
     
    //Formater le texte à imprimer
    Texte.append("<span style=\"color: blue +"\" >" + monTexteAColorier+ "</span><br>" );
     
    //Ajouter le texte au document à imprimer
    Doc.setHtml(Texte);
     
    //Imprimer
    DocToPrint.print(&mon_imprimante);
    Voilà, rien de bien compliqué finalement
    A +

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

Discussions similaires

  1. [XL-2003] Comment imprimer en couleur?
    Par leamoi dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 09/06/2010, 19h44
  2. Réponses: 1
    Dernier message: 22/11/2008, 13h05
  3. imprimer la couleur de fond sur 100% de la page
    Par ksouna dans le forum Word
    Réponses: 1
    Dernier message: 10/01/2008, 05h45
  4. [VBA-E]Imprimer en couleur
    Par ouskel'n'or dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 02/06/2006, 02h10
  5. Imprimer des couleurs
    Par méphistopheles dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 07/12/2005, 22h36

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