Как реализовать событие Click в QGraphicsWidget? - PullRequest
3 голосов
/ 24 декабря 2010

Я использовал QT Пример: appchooser. я планирую реализовать панель инструментов с этим. я изменил это работает нормально.

У меня проблема с перехватом события клика. Я пытался, но я не получил решение. пожалуйста, помогите мне решить проблему.

для нажатия на элемент мне нужно вызвать метод ItemClicked()

исходный код проекта. http://www.4shared.com/file/Xutwi3DR/test4anime.html

Пожалуйста, помогите найти решение ..

1 Ответ

2 голосов
/ 24 декабря 2010

Вы должны создать его подкласс, так как virtual void grabMouseEvent ( QEvent * event ) (фактически все события мыши) защищены (*) и нет signals для событий щелчка для этого виджета.

class MyGraphicsWidget : public QGraphicsWidget{

Q_OBJECT

//Implement the constructors as you wish, if you need help with this check a Qt tutorial out.

  //to get the mouse events implement the needed functions
  //there are many others so just check the docs [1]
  virtual void mouseReleaseEvent ( QGraphicsSceneMouseEvent * event ){
    //do whatever you need here. Emit SIGNALS, show menus, etc
  }
};

http://doc.qt.io/archives/qt-4.7/qgraphicswidget-members.html [1]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...