[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:
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() |