2010-08-23 7 views
1

J'ai implémenté des signaux pour mousePressEvent() dans une sous-classe QGraphicsScene, mais je ne peux pas comprendre comment utiliser la classe dans une interface utilisateur. Je peux ajouter un widget QGraphicsView à mon interface utilisateur, mais comment puis-je accéder à la scène ?Utilisation de la sous-classe QGraphicsScene avec 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: Ceci est en cours de compilation, mais l'événement de presse de la souris est ignoré. Je pense que cela est une question distincte, donc je l'ai posté another question

+0

Je pense que vous vouliez dire '... setScene (scène)' ins au lieu de '... setScene (scn) '? – rubenvb

+0

Oui, mettra à jour cela. – CakeMaster

Répondre

1

Dans votre exemple: utiliser le pointeur scene vous avez déjà:

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

Sinon, si vous n'avez pas le pointeur autour de la pose plus, utilise this function:

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

(non testé, mais je ne vois aucune raison pourquoi il ne devrait pas travailler)

Questions connexes