指向矩形测试困境

时间:2015-03-16 20:10:16

标签: qt user-interface language-agnostic rectangles

如果您查看Qt关于矩形点测试的文档,他们会说:

  

bool QRectF :: contains(const QPointF& point)const

     

如果给定的点位于内部或边缘,则返回true   长方形;否则返回false。

这不可避免地意味着一个点可能同时属于最多4个矩形,彼此相邻。是否存在支持这种安排的论据,或者矩形是否更好地仅包含某些边缘上的点(例如,左上角)?

1 个答案:

答案 0 :(得分:1)

文档说“边缘”而不是“角落”。通常edge表示一条线,而corner或顶点表示一个点。

如果您想排除边缘,QRectcontains()可以做到这一点。

您也可以自己编写contains()并使用QRectF::topLeft()检查该点是否位于左上角。

矩形也可以相交,因此一个点可以同时包含在任意数量的矩形中。