Доступ к другому содержимому элемента в QGraphicsScene

У меня есть файл dialog.cpp, именно здесь я создал свой QGraphicsScene который использует QGraphicsView,

Я создал два класса, которые наследуют QGraphicsPixmapItem, "Vehicle" а также "Junction", Оба эти объекта добавляются к одному QGraphicsScene в моем файле dialog.cpp.

Я хочу вызвать метод, который является членом "Junction" от моего "Vehicle" объект. Метод возвращает логическое значение, которое мне нужно.

Это более ориентированный на C++ вопрос, так как я уверен, что есть простое решение, которое использует доступ к родителю.

Основная информация о проекте: каждый "Vehicle" движется по дороге и приближается к "Junction", Транспортное средство должно тогда спросить развязку "у моей полосы есть зеленый свет, чтобы пойти?", Развязка тогда ответит "true/false",

1 ответ

Решение

Изучив возможные решения с помощью документации QT, я частично решил проблему.

призвание this->scene() позволяет получить доступ к функциям-членам сцены, на которой был добавлен ваш объект. Так как я знаю координаты моего объекта, я называю, this->scene()->itemAt(240,0); получить указатель на элемент.

Возвращенный указатель является самым верхним элементом на сцене в предоставленных координатах. Если это создает проблему, поочередно используйте scene()->items() чтобы получить список всех предметов на сцене.

Однако это дает доступ только к элементу, а не к вектору, в котором хранится элемент. Я искал в использовании ->parent() работать и думать, что это может быть решением в сочетании с динамическим приведением его к требуемому указателю. Обновлю ответ, если найду полное решение.

Другие вопросы по тегам