我的widget
位于myWidget
的中心,我在mousePressEvent()
上使用myWidget
来抓取鼠标按下事件。我希望在鼠标按下时隐藏myWidget
,但在widget
内按下时不能隐藏event->windowPos()
。
我可以按QPointF
计算出印刷位置,其中ui->widget->rect()
和QRect
为QpointF
。
如何检查QRect
内是否有methods: {
searchNodes: function (val) {
this.loading = true;
this.$http.post('/search_query', [val]).then(function (response) {
this.nodes = response.data;
this.loading = false;
}, function (response) {
console.log(response);
});
}
}
?
答案 0 :(得分:4)
用于:
if (ui->widget->geometry().contains(event->pos())) return;
答案 1 :(得分:2)
我找到了另一种简单的方法来查找新闻事件是否发生在窗口小部件上。
if (ui->widget->underMouse())
doSomething();
答案 2 :(得分:0)
我猜你可以覆盖方法Widget::mousePressEvent(QMouseEvent* event)
并在里面调用event->accept()
。
通过执行此操作,您将使用鼠标按下事件,并且它不会传播到父myWidget
。因此,myWidget
将只获得在Widget几何体外发生的事件。