正如标题所示,有没有办法让禁用的小部件接收鼠标事件?
我在用着QWidget::setEnabled()
用于更改小部件的外观,但我仍然想接收它们的鼠标事件。提前致谢 :)
您可以使用相关小部件上的事件过滤器来执行此操作。看QObject::eventFilter()。您的实现可能如下所示:
bool MainWindow::eventFilter(QObject *obj, QEvent *event)
{
if (ui->pushButton)
{
if (event->type() == QEvent::MouseButtonRelease)
{
qDebug() << "mouse button";
return true;
} else
{
return false;
}
} else
{
// pass the event on to the parent class
return QMainWindow::eventFilter(obj, event);
}
}
即使该按钮被禁用,这也将起作用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)