I dont think mouse clicks are propogated for transparent pixels. But I guess you dont want clicks on semi transparent area also ?
If yes, then you can try 2 things -
1) Subclass QGraphicsItem and override the mousePressEvent. In that you can accept or ignore the event based on items . This is what u have posted and I too not sure how we can get a pixels value for a graphics item
2) You can override shape() function and return the path. This function is responsible where mouse can be clicked.. read the doc