2010-08-23 2 views
1

Я реализовал сигналы для mousePressEvent() в подклассе QGraphicsScene, но я не могу понять, как использовать класс в пользовательском интерфейсе. Я могу добавить виджет QGraphicsView к своему пользовательскому интерфейсу, но как мне получить доступ к сценам?Использование подкласса QGraphicsScene с ui?

GraphicsScene *scene = new QGraphicsScene(this); 
// Add pixmap, etc 
ui->graphicsView->setScene(scene); 
// Here's where I'm stuck 
connect(ui->whereIsTheScene?, SIGNAL(clicked(QPoint)), this, SLOT(someSlot(QPoint)); 

EDIT: Это компиляция, но событие нажатия мыши игнорируется. Я думаю, что это отдельный вопрос, поэтому я отправил another question

+0

Я думаю, вы имели в виду '... setScene (сцена)' модули tead of ... setScene (scn) '? – rubenvb

+0

Да, обновит это. – CakeMaster

ответ

1

В вашем примере: использовать scene указатель у вас уже есть:

connect(scene, SIGNAL(clicked(QPoint)), this, SLOT(someSlot(QPoint)); 

В качестве альтернативы, если у вас нет указателя прокладка вокруг больше, использовать this function:

connect(ui->graphicsView->scene(), SIGNAL(clicked(QPoint)), this, SLOT(someSlot(QPoint)); 

(тестировался, но я не вижу причин, почему он не должен работать)

Смежные вопросы