2017-03-11 5 views
0

J'essaie de sous-classer QCheckBox pour faire passer les clics de souris si elle est désactivée. Lorsque ma case à cocher n'est pas désactivée (isEnabled() est true), Qt appelle son mousePressEvent() comme prévu. Quand il est désactivé, les appels ne se produisent pas. Des idées pour l'outmaneuver?mousePressEvent() pas appelé sur une désactivée QCheckBox

Répondre

1

Ce que vous décrivez est en effet le document behavior. Si vous regardez le source code, vous verrez que QWidget::event n'appelle que mousePressEvent si le widget est activé. En guise de solution, vous pouvez remplacer event au lieu de mousePressEvent(QEvent *e) et vérifier si e->type() == QEvent::MouseButtonPress.