qt判定某个点是否在多边形区域内

QVector<QPointF> vpf;
    QPointF pfIn = QPointF(0,0);
    QPointF pf = QPointF(-10,-10);
    vpf.append(pf);
    pf = QPointF(10,-10);
    vpf.append(pf);
    pf = QPointF(10,10);
    vpf.append(pf);
    pf = QPointF(-10,10);
    vpf.append(pf);
    QPolygonF pol(vpf);
    qDebug()<<"pol:"<<pol;
    if(pol.contains(pfIn))
    {
    
    
        qDebug()<<"pol contains ptIn";
    }
    if(pol.containsPoint(pfIn,Qt::WindingFill))
    {
    
    
        qDebug()<<"pol containsPoint ptIn WindingFill";
    }

执行结果为,用containsPoint能判定到在区域内,而用contains则不行。

猜你喜欢

转载自blog.csdn.net/weixin_43935474/article/details/106927269