2010-04-29 5 views
0

J'essaye de réaliser QTableView non-éditable avec des widgets dans des cellules qui devraient contenir le texte énumérable cliquable. Avec le code suivant je suis mise en widget dans la cellule définie:Comment créer un widget avec un texte cliquable dans QT/PyQt?

view = QTableView() 
label = QLabel(<some html text>) 
... 
view.setIndexWidget(index, label) 

je html pour faire le cliquable texte de l'étiquette, mais des liens est devenu bleu avec soulignement et de plus en cliquant dessus avec le bouton droit de la souris apparaît le menu contextuel avec « Copier Link Locaion "option, où je voulais placer des informations cachées au lieu de l'URL et bien sûr ne laissez pas l'utilisateur voir cette information. Je cherche un widget léger, je pensais que l'insertion de QGraphicsView dans chaque cellule conduirait à de gros chargements d'ordinateurs, mais je ne peux penser à aucune autre solution.

Pouvez-vous me conseiller quoi dois-je utiliser à cet effet?

Nous vous remercions à l'avance

Serge

Répondre

0

Je me suis confus quand j'ai vu dans la documentation des balises supportées, qui n'ont même pas essayé de vérifier les styles supportant QLabel. Donc, je l'ai résolu avec ce qui suit:

self.setContextMenuPolicy(Qt.PreventContextMenu) 
... 
str = "<qt><style>a.class1 { color: black; text-decoration: none; }</style>" 
str += "<a href='" + <hiden_value> + "' class='class1'>" + <value> + "</a>" 
Questions connexes