Я знаю, как передавать события из сцены qgraphics в q графический элемент, но проблема в этом случае, события мыши для сцены выполняются.пропуская mouseEvents qgraphicsitem в сцене qgraphics
, например, в коде ниже при нажатии на пункте выход «пользовательская сцена нажата»
#include <QtGui>
class CustomScene : public QGraphicsScene
{
protected:
void mousePressEvent(QGraphicsSceneMouseEvent *event)
{
if(itemAt(event->pos()))
QGraphicsScene::mousePressEvent((event));
else
qDebug() << "Custom scene clicked.";
}
};
class CustomItem : public QGraphicsRectItem
{
protected:
void mousePressEvent(QGraphicsSceneMouseEvent *event)
{
qDebug() << "Custom item clicked.";
}
};
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
CustomItem item;
item.setRect(20, 20, 60, 60);
CustomScene scene;
//scene().set
scene.addItem(&item);
QGraphicsView view;
view.setScene(&scene);
view.show();
return a.exec();
}
большое спасибо! :) – Radwa