Tabulator in QTableWidget verhindern?
Verfasst: 23. Juni 2008 09:59
Hi
Ihr kennt das ja sicher:
Wenn man gerade eine Zelle in einem QTableWidget editiert und die Tab-Taste drückt wird die nächste Zelle für das Editieren aktiviert.
Ich habe die Aufgabe bekommen nach einer Möglichkeit zu suchen das zu verhindern.
Nach vielem rumprobieren hab ich folgende Lösung erarbeitet:
Das macht ziemlich genau das was ich will, jetzt frage ich mich aber ob es eine noch einfachere Möglichkeit gibt?
mfg
rean
Ihr kennt das ja sicher:
Wenn man gerade eine Zelle in einem QTableWidget editiert und die Tab-Taste drückt wird die nächste Zelle für das Editieren aktiviert.
Ich habe die Aufgabe bekommen nach einer Möglichkeit zu suchen das zu verhindern.
Nach vielem rumprobieren hab ich folgende Lösung erarbeitet:
Code: Alles auswählen
class MyAbstractItemDelegate : public QItemDelegate
{
bool eventFilter( QObject * editor, QEvent * event )
{
if( event->type() == QEvent::KeyPress )
{
QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event);
if( keyEvent->key() == Qt::Key_Tab || keyEvent->key() == Qt::Key_Backtab ) return false;
}
return QAbstractItemDelegate::eventFilter( editor, event );
}
};
...
table->setItemDelegate( new MyAbstractItemDelegate );mfg
rean