如何检查QPointF是否在QRect中?

时间:2016-04-18 06:07:14

标签: qt

我的widget位于myWidget的中心,我在mousePressEvent()上使用myWidget来抓取鼠标按下事件。我希望在鼠标按下时隐藏myWidget,但在widget内按下时不能隐藏event->windowPos()。 我可以按QPointF计算出印刷位置,其中ui->widget->rect()QRectQpointF

如何检查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); }); } }

3 个答案:

答案 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几何体外发生的事件。