在此代碼中,我需要在mousePressEvent(..)
的Item
和customGraphicsView
中執行不同的操作。如何分開Item
和view
的動作,以便它們可以給出不同的行爲?QGraphicsView
繼承的類干擾了QGraphicsItem
的鼠標事件處理程序的重新定義。如何同時處理從QGraphicsView和QGraphicsItem中捕獲的鼠標事件?
class CustomGraphicsView: public QGraphicsView
{
...
protected:
void mousePressEvent(QMouseEvent * event);
};
class Item: public QGraphicsItem
{
protected:
void mousePressEvent(QMouseEvent * event);
};
class customWidget: public QWidget
{
public:
customWidget(QWidget * parent = 0) ;
...
private:
customGraphicsView * view ;
Item * item ;
};
customWidget::customWidget(QWidget* parent)
:QWidget(parent)
{
view = new customGraphicsView(this) ;
item = new item;
view->addItem(item) ;
}