Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. French
  4. Changement de la taille d'une police dans un QTimeEdit
Forum Updated to NodeBB v4.3 + New Features

Changement de la taille d'une police dans un QTimeEdit

Scheduled Pinned Locked Moved Solved French
2 Posts 1 Posters 61 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    Max
    wrote last edited by Max
    #1

    Bonjour,

    Sous Qt 6.4.2, Linux Debian stable à jour, X11.

    Je souhaite que l'utilisateur puisse modifier la taille d'une police d'un QTimeEdit à l'aide de CTRL + molette souris.

    Cela fonctionne très bien tant que je reste au dessus de 10 pt. Si je descends à 9 pt la police reste figée à 9 pt.

    Je capture l'évènement wheelEvent, vérifie le modifier CTRL et augmente la taille d'un point si angleDelta>0, -1 sinon :

    void EdsTools::up_down_font(QWidget * w, int  angleDelta){
        QFont f  = w->font();
        if (up_down_font(f,angleDelta)){
            w->setFont(f);
        }
    }
    bool EdsTools::up_down_font(QFont & f, int  angleDelta){
        int pt = f.pointSize();
        angleDelta>0 ? pt++ : pt--;
        if ((pt > 4) && (pt < 22)){
            f.setPointSize(pt);
            return true;
        }
        return false;
    }
    

    J'ai tenté de faire varier la fonte du lineEdit utilisée par le QTimeEdit avec le même résultat.

    Par ailleurs, tous les autres widget de l'appli réagissent parfaitement à cette manipulation. Il me reste ce petit widget et là je ne vois pas.

    Je ne sais d'ailleur pas si c'est la bonne méthode pour faire ça. La doc Qt encourage plutôt la modification des styleSheet. J'ai tenté et ça fonctionne très bien sauf que je perds les styleSheet définis avant pour certains widgets.

    Pour autant je n'aime pas du tout le remplacement de la fonte d'un widget par une autre. Que devient l'ancienne ?

    Cette fonction n'est pas vitale pour l'appli mais elle permettra d'améliorer la lecture de l'info sur certains écrans. J'ai testé en prod et ce champ n'est pas toujours très lisible alors qu'il ne faut pas y passer trop de temps.

    Bref, vos lumières seront les bienvenues.

    Merci d'avance et belles vacances si vous y êtes !
    Sylvain

    M 1 Reply Last reply
    0
    • M Max

      Bonjour,

      Sous Qt 6.4.2, Linux Debian stable à jour, X11.

      Je souhaite que l'utilisateur puisse modifier la taille d'une police d'un QTimeEdit à l'aide de CTRL + molette souris.

      Cela fonctionne très bien tant que je reste au dessus de 10 pt. Si je descends à 9 pt la police reste figée à 9 pt.

      Je capture l'évènement wheelEvent, vérifie le modifier CTRL et augmente la taille d'un point si angleDelta>0, -1 sinon :

      void EdsTools::up_down_font(QWidget * w, int  angleDelta){
          QFont f  = w->font();
          if (up_down_font(f,angleDelta)){
              w->setFont(f);
          }
      }
      bool EdsTools::up_down_font(QFont & f, int  angleDelta){
          int pt = f.pointSize();
          angleDelta>0 ? pt++ : pt--;
          if ((pt > 4) && (pt < 22)){
              f.setPointSize(pt);
              return true;
          }
          return false;
      }
      

      J'ai tenté de faire varier la fonte du lineEdit utilisée par le QTimeEdit avec le même résultat.

      Par ailleurs, tous les autres widget de l'appli réagissent parfaitement à cette manipulation. Il me reste ce petit widget et là je ne vois pas.

      Je ne sais d'ailleur pas si c'est la bonne méthode pour faire ça. La doc Qt encourage plutôt la modification des styleSheet. J'ai tenté et ça fonctionne très bien sauf que je perds les styleSheet définis avant pour certains widgets.

      Pour autant je n'aime pas du tout le remplacement de la fonte d'un widget par une autre. Que devient l'ancienne ?

      Cette fonction n'est pas vitale pour l'appli mais elle permettra d'améliorer la lecture de l'info sur certains écrans. J'ai testé en prod et ce champ n'est pas toujours très lisible alors qu'il ne faut pas y passer trop de temps.

      Bref, vos lumières seront les bienvenues.

      Merci d'avance et belles vacances si vous y êtes !
      Sylvain

      M Offline
      M Offline
      Max
      wrote last edited by
      #2

      @Max

      Ok, j'ai compris : en modifiant la taille de la fonte du QLineEdit inclus dans le QTimeEdit, ça fonctionne.

      Bêtement je prenais la police "f" du QLineEdit inclus, modifiais la taille de "f" et faisais QLineEdit->parent->setFont(f). Ici "parent" était de trop.

      En me relisant, j'espère que ce que j'ai écris est compréhensible...
      A+
      Sylvain

      1 Reply Last reply
      0
      • M Max has marked this topic as solved

      • Login

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • Users
      • Groups
      • Search
      • Get Qt Extensions
      • Unsolved