我希望能够通过按一个按钮或一个按键来启用和禁用筛选整个QMainWindow上的鼠标单击,这将导致筛选开始。我想从类QMainWindow
中启用事件过滤器。
我希望在我的类中可以有一个事件过滤器,我们可以调用MyWindow
,根据我发现的内容,我应该制作一个新类MouseFilter
,重新定义eventFilter(QObject* object,QEvent* event)
并将其安装在myWindow上
int main(int argc, char *argv[]) {
QApplication a(argc, argv);
MyWindow w;
w.installEventFilter(new MouseFilter());
w.show();
return a.exec();
}
有没有一种方法可以从对象内部实现事件过滤器?
解
我想我可能已经把事情复杂化了。就像子类化
mousePressEvent
一样简单。void MouseFilter::mousePressEvent(QMouseEvent * event){
if(event->button() == Qt::RightButton){
qDebug() << "Right-o";
}
}
最佳答案
我认为您正在寻找的是mousePressEvent,您可以在MyWindow
中对其进行覆盖
干杯,
罗斯蒂斯拉夫。
关于c++ - 筛选类中Qt中的鼠标单击,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32239008/