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 :

Police par défaut de QTableWidget

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 258
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 258
    Par défaut Police par défaut de QTableWidget
    Bonjour, je cherches à appliquer une police par défaut à 1 QTableWidget.

    J'ai essayé en faisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tableau->setFont(QFont("Arial",12));
    ça fonctionne bien mais si je fais un tableau->item(x,y)->font(); ce n'est pas Arial mais Ms Shell Dlg 2 : la police par défaut système.

    Est-il possible de propager le setFont aux QTableWidgetItems ?

    Merci pour votre aide.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2009
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009
    Par défaut
    QTableWidget c'est une implémentation toute faite du modèle/vue, ce n'est pas fait pour faire dans la finesse, donc malheureusement, il faut tout faire à la bourrin : setFont() à chaque QTableWidgetItem.

    Le problème c'est que le modèle est privé : QTableModel, déclaré dans qtablewidget_p.h, n'a aucune méthode en virtuel, ce n'est pas fait pour ça.

    Mais en vrai modèle/vue (si tu utilisais un QTableView - d'ailleurs si à force de faire des bidouilles tu as des soucis de performance, c'est ce qu'il faudra envisager), tu as un rôle pour ça, c'est Qt::FontRole.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    QVariant MonTableModel::data ( const QModelIndex& index, int role ) const
    {
        switch ( role )
        {
        //... autres rôles
        case Qt::FontRole:
            return QFont("Arial",12);
        default:
            return QVariant();
        }
    }

  3. #3
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 258
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 258
    Par défaut prob avec la police ....
    Merci Trouhdhyl.

    J'ai trouvé 1 solution toute simple.

    Avec le setFont sur le tableWidget, l'affichage se fait correctement à l'écran.
    Lors de la sauvegarde, je vérifie si la police de l'item à sauvegarder est égal à la police système par défaut, si c'est le cas je fixe ma police avant svg. il me faudra appliquer ceci à ma routine d'impression ( j'imprime en "dessinant" mon tableau avec un QPainter ) et vérifier le ciomportement sous linux ( je suis sous Windows )
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

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

Discussions similaires

  1. Changer la police par défaut
    Par clodius46 dans le forum VBA Word
    Réponses: 5
    Dernier message: 07/10/2007, 11h07
  2. [D7] Police par défaut d'un projet
    Par slimjoe dans le forum Delphi
    Réponses: 4
    Dernier message: 27/06/2007, 21h23
  3. Réponses: 5
    Dernier message: 12/05/2006, 09h59
  4. [VB6]Connaitre la taille de la police par défaut !
    Par marsup54 dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 13/03/2006, 11h34
  5. [SWING][FONT] choisir la police par défaut
    Par narmataru dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 21/02/2003, 10h35

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