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

PyQt Python Discussion :

[python3][Qt4] formater le texte d'une cellule d'une tableview [QtGui]


Sujet :

PyQt Python

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 49
    Points : 51
    Points
    51
    Par défaut [python3][Qt4] formater le texte d'une cellule d'une tableview
    bonjour,
    Dans un tableview, je veux que le texte de la ligne sélectionnée par la souris passe en gras et le reste jusqu'à ce qu'une nouvelle ligne soit sélectionnée.
    J'ai fait le test avec une cellule, dans mon delegate en passant par un QTextDocument, le texte se met en gras mais uniquement tant que le bouton de la souris est enfoncé, au relachement, le texte reprend son apparence "normale".
    Comment faire pour que le texte garde son apparence tant que l'opérateur n'a pas selectionné une autre ligne?
    merci pour votre aide.

    voici un bout de mon delegate :
    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
            if index.column() == DATE:
                StrEngDate = index.model().data(index) #string représentant la date en anglais
                #print("date récup : {}".format(StrEngDate))
                eng_date = datetime.strptime(StrEngDate,"%Y-%m-%d") #convertit la chaine en type datetime
                fr_date = datetime.strftime(eng_date,"%d/%m/%Y") #convertit la date au format français
                #print("{}".format(fr_date))
                document = QTextDocument()
                document.setDefaultFont(option.font)
                if option.state & QStyle.State_Selected:
                    document.setHtml("<b>{}</b>".format(fr_date)) #met le text en gras
                else:
                    document.setHtml(fr_date)
                painter.save()
                painter.translate(option.rect.x(), option.rect.y())
                document.drawContents(painter)
                painter.restore()

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 49
    Points : 51
    Points
    51
    Par défaut
    Je me réponds à moi-même...
    La sélection d'une ligne du tableview n'était pas maintenue car, sur le clic souris, j'appelle des traitements qui mettent à jour le tableview et donc font disparaitre la sélection.
    Si après les traitements, j'appelle la sélection de la ligne par un qtableview.selectRow(numeroligne), la ligne apparait de nouveau sélectionnée.
    C'est tout pour aujourd'hui.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/07/2016, 16h49
  2. [Toutes versions] coller les données d'une plage d'une cellule dans une cellule d'une autre feuille[VBA]
    Par arthson dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/01/2012, 17h37
  3. [XL-2007] problème de codage en vba ("copie d'une partie d'une cellule dans une cellule vide")
    Par skipeemed dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 26/10/2010, 17h01
  4. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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