考虑使用Qt Designer设计的窗口。很多子小部件。这个窗口有一个QWidget派生类,它实现了QWidget的虚拟鼠标方法(mousePressEvent,mouseReleaseEvent,mouseMoveEvent)
某些子窗口小部件没有控件,并在样式表中定义为“background:transparent”
我的问题:
当点击这样一个透明的子窗口小部件时,我确实在我的QWidget派生类中调用了MousePressEvent。那一切都很好。但我想知道刚刚点击了WHICH子窗口小部件。我想避免几何比较,将点击位置映射到子窗口小部件的尺寸。
有没有办法从mouseEvent对象获取此信息?我似乎无法看到任何与鼠标事件的始发者相关的内容。
答案 0 :(得分:1)
bool eventFilter(QObject *obj, QEvent *event);
函数编写类(继承自QObject)。在重新实现的bool eventFilter(QObject *obj, QEvent *event);
函数中,您可以识别哪些子窗口小部件首先获得MouseEvent。
答案 1 :(得分:0)