Partage
  • Partager sur Facebook
  • Partager sur Twitter

comment changer la couleur d'un text QprogressBar

changement du text en arrivant à un pourcentage

    18 juillet 2019 à 17:20:39

    Bonjour,

    j'ai un QprogressBar et j'ai besoin de changer la couleur du texte, normalement d’après ce que j'ai vue c'est que la couleur du texte devra changer automatiquement mais dans mon cas le texte reste dans la même couleur 

    je vais essayer de m'expliquer avec des dessins, vous trouverez ci-joint ce que je veux

    le text dans mon cas ne change pas il reste noir donc j'ai besoin d'aide voici mon code 

      //j'ai une classe qui hérite de qprogressbar 
      
    
       setRange(0, 100);
       setValue(0); // set value est incrémenté automatiquement 
       setAlignment(Qt::AlignCenter);
       setTextVisible(true);
    
     setStyleSheet(QString("QProgressBar{background-color: %2; border: 2px solid %2; border-radius: 1px; margin: 0px; text-align: center;}"
                              "Q2ProgressBar:disabled{background-color: %3; border: 2px solid %3; border-radius: 1px; margin: 0px; text-align: center;}"
                              "QProgressBar::chunk{background-color: %1; margin: 0px}"
                             ).arg(Q2UiColorsLocator::get().getDispText().name(), Q2UiColorsLocator::get().getDispBackground().name(), Q2UiColorsLocator::get().getDisabled().name()));
    
    
    



    -
    Edité par omar123 18 juillet 2019 à 17:22:25

    • Partager sur Facebook
    • Partager sur Twitter
      19 juillet 2019 à 8:42:43

      Avec la propriété css color ça fonctionne. :)

      setStyleSheet("QProgressBar { color: red; }");

      -
      Edité par Maluna34 19 juillet 2019 à 8:42:50

      • Partager sur Facebook
      • Partager sur Twitter
        19 juillet 2019 à 13:58:07

        Maluna34 a écrit:

        Avec la propriété css color ça fonctionne. :)

        setStyleSheet("QProgressBar { color: red; }");

        -
        Edité par Maluna34 il y a environ 5 heures


        c'est vraiment pas ce que je veux :) ce que vous m'avez donné a le même fonctionnement que ce que j'ai fais, la couleur du texte ne change pas de rangeMin à rangeMax. si vous regarder la photo que j'ai mise le texte change de couleur en backgroud black
        • Partager sur Facebook
        • Partager sur Twitter
          19 juillet 2019 à 14:18:49

          Salut,

          J'ai pas compris ce que tu demandes, mais avec toutes les modifications que tu souhaites faire, tu devrais plutôt regarder les QStyle, ça t'offre plus de liberté pour faire ce que tu veux, mais c'est un peu plus compliqué à mettre en oeuvre.

          https://doc.qt.io/qt-5/style-reference.html#progress-bar

          par contre, il ne faut pas mélanger QStyle et StyleSheet

          EDIT:

          Je crois que j'ai compris, j'avais pas capté sur le dessin, tu veux changer la couleur du texte en fonction du fond. Je ne pense pas que tu puisse y arriver avec les stylesheets, et même si c'est le cas tu ne pourras pas gérer quand la séparation tombe au milieu d'un chiffre. En fait, ça ne m'a pas l'air très simple comme gestion.
          Dans le style "fusion", les ProgressBar sont sous cette forme, tu peux le voir sur cette page. Si tu veux récupérer le style fusion, tu peux utiliser le QStyleFactory.

          -
          Edité par romantik 19 juillet 2019 à 17:18:07

          • Partager sur Facebook
          • Partager sur Twitter
          Dream on, Dream on, Dream until your dream comes true

          comment changer la couleur d'un text QprogressBar

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown