未在禁用的QCheckBox上调用mousePressEvent()

时间:2017-03-11 14:44:32

标签: c++ qt qcheckbox

我尝试将QCheckBox子类化,以便在禁用时通过鼠标点击。如果我的复选框未被停用(isEnabled()true),则Qt会按预期调用其mousePressEvent()。禁用时,不会发生呼叫。任何想法如何战胜它?

1 个答案:

答案 0 :(得分:1)

您所描述的确实是记录在案的behavior。如果您查看source code,则会看到QWidget::event仅在启用小部件时才调用mousePressEvent

作为解决方案,您可以覆盖event而不是mousePressEvent(QEvent *e)并检查是否e->type() == QEvent::MouseButtonPress