Seite 1 von 1

Event an Kind-Widget weiterleiten?

Verfasst: 6. März 2009 12:16
von Illuminatus
hi ich hab eine oberfläche und ein QGLWidget als Kind. Ich hab nun den void keyPressEvent( QKeyEvent * ); in der OGL Klasse überschrieben und neu implementiert. Allerdings wird die Methode nie aufgerufen! Ich habe mich mal im Assistent umgesehen, und hab gelesen dass ich mit event::setAccepted(true) sozusagen das Kind als Empfänger bestätigen muss. Wie mach ich dass, dass nur gewisse Keys an das Kind (OGL Fenster) geleitet werden udn nciht alle?

Code: Alles auswählen

void opengldrawer::keyPressEvent(QKeyEvent *ereignis)
{
    qDebug() << "keypressevent erkannt";
	int taste = ereignis->key();
	switch(taste)
	{
		//links
	case 16777234:
                qDebug() << "<-";
                glTranslatef(2,0,0);
                updateGL();
		break;
		//hoch
	case 16777235:
                glTranslatef(0,0,2);
                updateGL();
		break;
		//rechts
	case 16777236:
                glTranslatef(-2,0,0);
                updateGL();
		break;
		//runter
	case 16777237:
                glTranslatef(0,0,-2);

		break;
	}

}
Wisst ihr warum die Methode nie aufgerufen wird?

Verfasst: 27. Mai 2009 16:15
von heizer_2
Hallo, dein Widget hat evtl. den Eingabefocus nicht um Key-Events zu empfangen...

Doku sagt:
"A widget must call setFocusPolicy() to accept focus initially and have focus in order to receive a key press event."

hab auch lange gesucht...