Я делаю программу Qt, где у меня есть прямоугольники, связанные с проводами (помещается пользователем с событиями мыши). Каждый провод проверяет, есть ли прямоугольник в начале и в конце. Если это так, провод помещается.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;
}
Я думаю, что проблема в том, что ограничивающий прямоугольнике & формы используется только для выбора. Я также попытался использовать изображение (отчаянное решение), но я не могу найти способ добавить изображение/pixmap в свой QpainterPath.
Я знаю, что я могу использовать линию вместо плоского прямоугольника, но проблема остается прежней.
Спасибо за помощь мне :)