Bonjour à tous ,

Actuellement pour un projet, je dois utiliser PySide6, et gérer des évènements lorsque j'effectue un clic-droit avec la souris dans un tableau.

J'ai essayé d'écrire un petit script simple pour comprendre le fonctionnement, mais je ne parviens à détecter un signal uniquement lorsque la souris est utilisé dans le layout.

Voici mon code :
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
17
18
19
20
21
from PySide6.QtCore import *
from PySide6.QtGui import *
from PySide6.QtWidgets import *
import sys
 
class Main(QWidget):
    def __init__(self, parent=None):
        QWidget.__init__(self, parent)
        layout  = QHBoxLayout(self)
        table = QTableWidget(3, 2)
        table.setMouseTracking(True)
        layout.addWidget(table)
        self.show()
 
    def mousePressEvent(self, QMouseEvent):
        #print mouse position
        print(QMouseEvent.pos())
 
a = QApplication([])
m = Main()
sys.exit(a.exec_())
Pourrez-vous, s'il-vous-plaît, m'expliquer pourquoi cela ne fonctionne pas sur le QTableWidget et comment pourrais-je remédier à cela ?

En vous remerciant par avance.