2009-10-23 6 views
1

J'ai un widget QTable, où je misComment activer le menu contextuel sur un VerticalHeaderItem à l'intérieur d'un QTableWidget?

setVerticalHeaderItem(0, QTableWidgetItem("some header", 0)) 

Je mets un menu contex par

setContextMenuPolicy(Qt.ActionsContextMenu) 

et il fonctionne très bien sur les éléments de ma table autres que 1ère colonne, à savoir un VerticalHeaderItem. Fondamentalement, lorsque je clique avec le bouton droit sur un élément de la 1ère colonne un menu contextuel n'apparaît pas, alors que cliquer sur tout autre élément> 1ère colonne fait apparaître le menu contextuel (rempli avec les QActions I définies, non affichées ici pour plus de clarté) .

Y a-t-il un attribut que je devrais définir pour que la première colonne (VerticalHeaderItem) réagisse au clic-droit? Qt.ItemFlags peut-être? Si oui, quelqu'un peut-il écrire un extrait de code comment le configurer correctement? De préférence en Python, mais C++ serait aussi OK.

Ma conf: QT 4.5.2, PyQT 4.5.4, sous Windows XP SP2.

Répondre

3

Les en-têtes sont des widgets seuls. Ainsi, définissez la stratégie du menu contextuel sur myTableWidget.verticalHeader().

+0

Pour poser une question de suivi (je viens de rencontrer exactement le même problème) - comment extraire-t-on ensuite la ligne sur laquelle on a cliqué? – qdot

Questions connexes