Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : methoden mit funktionstasten aufrufen



hanswurst
31-12-2004, 09:48
hallo,
ich möchte, mit den funktionstasten f1 -f12 dialoge bzw methoden aufrufen. wie heißt die signal/slot geschichte dazu? bekomme das nicht hin...
vielen dank

hanswurst

peschmae
31-12-2004, 14:18
Sprichst du von Qt?

MfG Peschmä

Gartenzwerg
02-01-2005, 15:50
hi,
ich nehme mal an, dass er Qt meint, da er von signals/slots spricht.
Hierfür gibt es jedoch keine Signale. Du musst dafür auf Events reagieren. Dazu musst du in deiner Klasse die Funktion "bool event(QEvent* ev);" [protected] überladen.
z.B.


bool MainWindow::event(QEvent* ev)
{
switch(ev->type())
{
case QEvent::KeyRelease:
{
QKeyEvent* keyEvent = static_cast<QKeyEvent*>(ev);

switch(keyEvent->key())
{
case Qt::Key_F1:
{
// mach irgendetwas
}
break;

case Qt::Key_F2:
{
// mach irgendetwas
}

// ...

break;

default:
break;
}
}
break;

default:
break;
}

return QMainWindow::event(ev);
}


Gartenzwerg

anda_skoa
03-01-2005, 16:05
Dazu musst du in deiner Klasse die Funktion "bool event(QEvent* ev);" [protected] überladen.


Nein, dafür gibt es schon spezielle Methoden für Key Events.
keyPressEvent und keyReleasEvent in QWidget

Ciao,
_

Gartenzwerg
03-01-2005, 17:30
danke, das spart dann min. eine switch-Anweisung, funktioniert dann im Grunde aber genauso

Gartenzwerg