Вот пример который иллюстрирует мою проблему!
В наследнике QGraphicsItemGroup при добавлении QGraphicsProxyWidget(QPushButton) QPushButton не реагирует на нажатие!
Может кто сталкивался с такой проблемой?
Как это решить?
C++ (Qt)
class TestItemGroup : /*public QObject,*/ public QGraphicsItemGroup
{
// Q_OBJECT
public:
TestItemGroup(QGraphicsItem *parent = 0, QGraphicsScene *scene = 0);
private slots:
void testSlot();
private:
QPushButton *buttonTest;
QGraphicsProxyWidget *gButtonTest;
};
TestItemGroup::TestItemGroup(QGraphicsItem *parent, QGraphicsScene *scene)
:QGraphicsItemGroup(parent, scene)
{
buttonTest = new QPushButton("+");
// connect(buttonTest, SIGNAL(clicked()), this, SLOT(testSlot()), Qt::AutoConnection);
gButtonTest = scene->addWidget(buttonTest);
gButtonTest->setPos(0, 0);
addToGroup(gButtonTest);
}
void TestItemGroup::testSlot()
{
qDebug()<<"Test is ok!";
}
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QGraphicsScene *scene = new QGraphicsScene();
QGraphicsView *view = new QGraphicsView();
// view->setDragMode(QGraphicsView::ScrollHandDrag);
view->setRenderHint(QPainter::Antialiasing, true);
view->setSceneRect(-200, -200, 400, 400);
view->setScene(scene);
view->show();
TestItemGroup *testGroup = new TestItemGroup(0, scene);
testGroup->setPos(0, 0);
scene->setSceneRect(scene->itemsBoundingRect());
return app.exec();
}
Эм да, не реагирует, но это так и должно быть
The QGraphicsItemGroup class provides treating a group of items as one.
И далее по тексту...