mousePressEvent() не вызывается для отключенного QCheckBox

Я пытаюсь подкласс QCheckBox чтобы он пропускал щелчки мышью, если отключен. Когда мой флажок не отключен (isEnabled() является true), Qt называет его mousePressEvent() как и ожидалось. Когда он отключен, звонки не происходят. Есть идеи как его перехитрить?

1 ответ

Решение

То, что вы описываете, действительно является документированным поведением. Если вы посмотрите на исходный код, вы увидите, что QWidget::event только звонки mousePressEvent если виджет включен.

В качестве решения вы можете переопределить event вместо mousePressEvent(QEvent *e) и проверьте, если e->type() == QEvent::MouseButtonPress,

Другие вопросы по тегам