Gartenzwerg
21-05-2004, 07:16
Hi,
ich habe wie folgt das keyPressEvent überschrieben:
// Tastaturereignisse abfangen um TAB-Reihenfolge zu ändern
void CategoryTable::keyPressEvent(QKeyEvent* event)
{
qDebug("keyPressEvent");
// Wenn TAB-Taste gedrückt, letzte Spalte aktiv und noch mehrere Reihen vorhanden,
if((event->key() == Qt::Key_Tab)&&(currentColumn()>=(numCols()-1))&&(currentRow()<(numRows()-1)))
{
qDebug("setCurrentCell");
// aktive Zelle auf nächste Reihen erste Spalte setzen
setCurrentCell(currentRow()+1, 0);
}
qDebug("QTable::keyPressEvent");
QTable::keyPressEvent(event); // Aufruf der Implementation von QTable
}
Doch er geht nie in den if-Block. Das muss irgendwie an der Taste liegen, wenn ich nämlich statt Qt::Key_Tab, Qt::Key_Control o.ä. verwende funktioniert es. Ich hätte aber gerne die Tabulatortaste für diese Funktion. Wie kann ich dies erreichen?
Tschau Gartenzwerg
ich habe wie folgt das keyPressEvent überschrieben:
// Tastaturereignisse abfangen um TAB-Reihenfolge zu ändern
void CategoryTable::keyPressEvent(QKeyEvent* event)
{
qDebug("keyPressEvent");
// Wenn TAB-Taste gedrückt, letzte Spalte aktiv und noch mehrere Reihen vorhanden,
if((event->key() == Qt::Key_Tab)&&(currentColumn()>=(numCols()-1))&&(currentRow()<(numRows()-1)))
{
qDebug("setCurrentCell");
// aktive Zelle auf nächste Reihen erste Spalte setzen
setCurrentCell(currentRow()+1, 0);
}
qDebug("QTable::keyPressEvent");
QTable::keyPressEvent(event); // Aufruf der Implementation von QTable
}
Doch er geht nie in den if-Block. Das muss irgendwie an der Taste liegen, wenn ich nämlich statt Qt::Key_Tab, Qt::Key_Control o.ä. verwende funktioniert es. Ich hätte aber gerne die Tabulatortaste für diese Funktion. Wie kann ich dies erreichen?
Tschau Gartenzwerg