我正在做一个 Qt 程序,其中有用电线链接的矩形(由用户通过鼠标事件放置)。每根线都会检查它的开头和结尾是否有一个矩形。如果是这种情况,则放置电线。
我最近想把我的矩形变成水平线(更好的视觉效果),所以我写道:
QRectF myRect(-15, 0, 30, 1);
而不是常规的矩形。问题是现在追踪我的线太难了,因为用户必须用鼠标链接两条线,这几乎是不可能的。
我试图改变边界矩形/形状,但它们都不起作用:
QRectF Port::boundingRect()
{
return QRectF(-15, 0, 30, 10);
}
QPainterPath Port::shape()
{
QPainterPath path;
path.addRect(-15, 0, 30, 10);
return path;
}
我认为问题在于边界矩形和形状仅用于选择。我也尝试使用图像(绝望的解决方案),但我找不到将图像/像素图添加到我的 QpainterPath 的方法。
我知道我可以使用一条线而不是一个平面矩形,但问题仍然是一样的。
谢谢你帮助我:)