Kirsche
20-11-2005, 12:28
Hallo Leute,
ein Fenster meines Programms soll auf KeyEvents reagieren, macht das aber nur in bestimmten Fällen, nämlich wenn ich das Fenster neu geöffnet habe. Durch das Event soll es möglich sein, zwischen Radiobuttons hin- und herschalten zu können. Man soll also mit der einen Taste nach oben laufen können, mit der anderen nach unten.
void MyWidget::keyPressEvent( QKeyEvent* event )
{
QMessageBox::information ( this, "Information", "Key", QMessageBox::Ok , 0, 0 ); // als Test, ob ich die Funktion erreiche
int id = 0;
id = sequenceGroup->selectedId();
if( event->key() == Qt::Key_Prior )
{
id--;
sequenceGroup->setButton( id );
slotSetContent( id );
}
else if( event->key() == Qt::Key_Next )
{
id++;
sequenceGroup->setButton( id );
slotSetContent( id );
}
}
Wenn ich auf irgendwas anderes im Fenster klicke, funktionieren die Tasten anschließend nicht mehr, auch wenn ich wieder den Rahmen des Fensters anklicke.
Hat jemand eine Idee?
Vielen Dank,
ein Fenster meines Programms soll auf KeyEvents reagieren, macht das aber nur in bestimmten Fällen, nämlich wenn ich das Fenster neu geöffnet habe. Durch das Event soll es möglich sein, zwischen Radiobuttons hin- und herschalten zu können. Man soll also mit der einen Taste nach oben laufen können, mit der anderen nach unten.
void MyWidget::keyPressEvent( QKeyEvent* event )
{
QMessageBox::information ( this, "Information", "Key", QMessageBox::Ok , 0, 0 ); // als Test, ob ich die Funktion erreiche
int id = 0;
id = sequenceGroup->selectedId();
if( event->key() == Qt::Key_Prior )
{
id--;
sequenceGroup->setButton( id );
slotSetContent( id );
}
else if( event->key() == Qt::Key_Next )
{
id++;
sequenceGroup->setButton( id );
slotSetContent( id );
}
}
Wenn ich auf irgendwas anderes im Fenster klicke, funktionieren die Tasten anschließend nicht mehr, auch wenn ich wieder den Rahmen des Fensters anklicke.
Hat jemand eine Idee?
Vielen Dank,