Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: notnext от Июль 07, 2009, 12:57



Название: Проблема с QGraphicsProxyWidget в QGraphicsItemGroup
Отправлено: notnext от Июль 07, 2009, 12:57
Вот пример который иллюстрирует мою проблему!
В наследнике 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();
}
 


Название: Re: Проблема с QGraphicsProxyWidget в QGraphicsItemGroup
Отправлено: Rcus от Июль 07, 2009, 13:07
Эм да, не реагирует, но это так и должно быть
Цитировать
The QGraphicsItemGroup class provides treating a group of items as one.
И далее по тексту...