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

Discussion :

Utilisation des balises HTML dans QString

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Septembre 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2013
    Messages : 12
    Par défaut Utilisation des balises HTML dans QString
    Bonjour,

    Veillez voir le code source suivant :

    main.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    #include "mainwindow.h"
    #include <QApplication>
    #include <QMessageBox>
    #include <QPushButton>
     
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        MainWindow w;
        w.setFixedSize(500, 500);
     
        QPushButton bouton("Bonjour <strong style=\"color:red;\">tout</strong> le monde", &w);
        bouton.setFixedWidth(400);
        w.show();
        QMessageBox::information(&w, "Titre", "Bonjour <strong style=\"color:red;\">tout</strong> le monde");
     
        return a.exec();
    }
    Pour quoi le HTML dans QString fonction avec QMessageBox et il ne fonction pas avec QPushButton ?

    Le résulatat et dans les pièces jointes.
    Images attachées Images attachées  

  2. #2
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2010
    Messages
    248
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2010
    Messages : 248
    Par défaut
    QPushButton ne supporte pas texte en html (En tous cas rien n'est mentionné dans la doc). Ca fonctionne sur une QMessageBox car je présume qu'il utilise un QLabel (ou autre widget supportant le html) pour afficher le texte.

    Voici les solutions que je te propose:
    1. Utiliser une feuille de style sur ton QPushButton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bouton->setStyleSheet("font: bold;color:red");
    2. Ou créer ton bouton en héritant de QAbstractButton afin qu'il supporte le text e formaté en html, mais je n'ai pas d'exemple à te donner. Par contre cela devient assez lourd si tu dois simplement modifier la couleur d'un bouton. Par contre cela peut être intérressant si tu penses le réutiliser souvent.

    (Il doit aussi y avoir un moyen de placer un QLabel dans un QPushButton, mais ce n'est pas très propre.)

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Septembre 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2013
    Messages : 12
    Par défaut
    Citation Envoyé par Gojir4 Voir le message
    QPushButton ne supporte pas texte en html (En tous cas rien n'est mentionné dans la doc). Ca fonctionne sur une QMessageBox car je présume qu'il utilise un QLabel (ou autre widget supportant le html) pour afficher le texte.

    Voici les solutions que je te propose:
    1. Utiliser une feuille de style sur ton QPushButton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bouton->setStyleSheet("font: bold;color:red");
    2. Ou créer ton bouton en héritant de QAbstractButton afin qu'il supporte le text e formaté en html, mais je n'ai pas d'exemple à te donner. Par contre cela devient assez lourd si tu dois simplement modifier la couleur d'un bouton. Par contre cela peut être intérressant si tu penses le réutiliser souvent.

    (Il doit aussi y avoir un moyen de placer un QLabel dans un QPushButton, mais ce n'est pas très propre.)
    Voila ça ne peut être que ça je vous remercie.

  4. #4
    Membre éprouvé
    Avatar de ymoreau
    Homme Profil pro
    Ingénieur étude et développement
    Inscrit en
    Septembre 2005
    Messages
    1 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur étude et développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 154
    Par défaut
    Passer par les stylesheets est sans doute le plus simple, mais un QWidget possède aussi un attribut QPalette qui permet de configurer les différentes couleurs (texte, fond etc).

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/07/2008, 16h17
  2. [XSLT] inclure des balises html dans xml
    Par paty03 dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 25/02/2008, 14h13
  3. Insérer des Balises HTML dans un champ mémo
    Par Heureux-oli dans le forum IHM
    Réponses: 18
    Dernier message: 21/03/2007, 20h05
  4. [XSLT] Utiliser des balises XHTML dans un fichier XML
    Par zoubidaman dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 20/03/2007, 14h30
  5. Afficher des balises HTML dans une chaine javascript
    Par lapaupiette dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 07/03/2007, 10h19

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