我正在开发一个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中。
我知道我可以使用线条而不是平面矩形,但问题仍然存在。
感谢您的帮助 :)