Помогите с qt4 qgraphicsview - PullRequest
       31

Помогите с qt4 qgraphicsview

2 голосов
/ 25 декабря 2009

Я много чего сделал с pygtk, но я решил изучать pyqt, я застрял на qgraphicsview. Я понятия не имею, как получить сигналы от элементов, которые я размещаю в графическом представлении, в первую очередь события мыши. я могу получить события мыши от отдельных элементов в сцене?

Ответы [ 3 ]

1 голос
/ 25 декабря 2009

QGraphicsItem не является объектом QObject и не может ни отправлять сигналы, ни получать слоты. Вместо этого вы должны обрабатывать события. Вы можете сделать это либо через фильтр событий, подклассифицируя представление или сцену для перехвата событий, либо просто подклассифицируя сами элементы и реализуя функции обработки событий (см. Функции защищенных элементов в документации). Возможно, этот пример может быть интересен: http://doc.trolltech.com/4.6/graphicsview-diagramscene.html.

0 голосов
/ 25 декабря 2009

Другой вариант - просто отказаться от использования сигналов и заставить свой экземпляр QGraphicItem напрямую вызывать метод своего родителя, сохраняя ссылку на него. Это менее красиво, чем использование сигналов, но, в конечном счете, оно выполняет свою работу.

0 голосов
/ 25 декабря 2009

Сразу после создания элемента подключите нужные ему сигналы к экземпляру содержащего его виджета.

...