隐藏自定义 QwtSymbol 的边界矩形

Hide bounding rect of a custom QwtSymbol

我有一个派生自 QwtSymbol 的 class,符号类型是像素图。在像素图上,我画了一个省略号,但是,当带有自定义符号的曲线与另一条曲线(带有标准符号)发生碰撞时,自定义符号会剪切另一条曲线的符号区域。

自定义符号仅在其他符号与边界矩形发生冲突时剪裁其他符号。

CSymbol::CSymbol()
    : QwtSymbol(QwtSymbol::Pixmap)
    , ellipsis(142, 142, 142)
{
    QPixmap pixmap(QIcon(":/App/Resources/Ellipsis.png").pixmap(QSize(12, 12)));
    QPainter* painter = new QPainter(&pixmap);
    QwtPainter qwtPainter;

    QPen pen(ellipsis);
    pen.setWidth(1);

    painter->setRenderHint(QPainter::Antialiasing);
    painter->setClipping(false);
    painter->setPen(pen);
    auto size = QRectF(1, 1, 10, 10);
    qwtPainter.drawEllipse(painter, size);
        painter->end();
    setPixmap(pixmap);
    setPinPoint(QPoint(0, 0), true);

如何隐藏自定义符号的边界矩形,使其不剪裁覆盖的东西?

解决方案非常简单,我只是对输入像素图应用了 alpha 混合,然后绘制了省略号。