如果您查看Qt关于矩形点测试的文档,他们会说:
bool QRectF :: contains(const QPointF& point)const
如果给定的点位于内部或边缘,则返回true 长方形;否则返回false。
这不可避免地意味着一个点可能同时属于最多4个矩形,彼此相邻。是否存在支持这种安排的论据,或者矩形是否更好地仅包含某些边缘上的点(例如,左上角)?
答案 0 :(得分:1)
文档说“边缘”而不是“角落”。通常edge表示一条线,而corner或顶点表示一个点。
如果您想排除边缘,QRect
版contains()
可以做到这一点。
您也可以自己编写contains()
并使用QRectF::topLeft()
检查该点是否位于左上角。
矩形也可以相交,因此一个点可以同时包含在任意数量的矩形中。