у меня есть dialog.cpp файл, именно здесь я создал свой QGraphicsScene
который использует QGraphicsView
,
Я создал два класса, которые наследуют QGraphicsPixmapItem
, "Vehicle"
а также "Junction"
, Оба эти объекта добавляются к одному QGraphicsScene
в моем dialog.cpp файл.
Я хочу вызвать метод, который является членом "Junction"
от моего "Vehicle"
объект. Метод возвращает логическое значение, которое мне нужно.
Это более ориентированный на c ++ вопрос, так как я уверен, что есть простое решение, которое использует доступ к родителю.
Основная информация о проекте: каждый "Vehicle"
движется по дороге и приближается к "Junction"
, Транспортное средство должно тогда спросить развязку «у моей полосы есть зеленый свет, чтобы пойти?», Развязка тогда ответит "true/false"
,
Изучив возможные решения с помощью документации QT, я частично решил проблему.
призвание this->scene()
разрешает доступ к функциям-членам сцены, на которой был добавлен ваш объект. Так как я знаю координаты моего объекта, я называю, this->scene()->itemAt(240,0);
получить указатель на элемент.
Возвращенный указатель является самым верхним элементом на сцене в предоставленных координатах. Если это создает проблему, поочередно используйте scene()->items()
чтобы получить список всех предметов на сцене.
Тем не менее, это только дает доступ к вещь а не вектор, в котором хранится элемент. Я искал в использовании ->parent()
работать и думать, что это может быть решением, в сочетании с динамическим приведением его к требуемому указателю. Обновлю ответ, если найду полное решение.
Других решений пока нет …