ich habe ein QListWidget und ein in einem anderen Widget ein QLineEdit. Sobald ich einen Text in das QLineEdit eingebe, sollte das QListWidget gekuerzt/ eingeschraenkt werden. Das QListWidget soll also gefiltert werden.
Das ganze funktioniert auch wunderbar wenn ich direkt nach programmstart in die QLineEdit klicke und einen Text eingebe. Klicke ich aber vorher auf das ListWidget und dann in das textfeld und gebe dann einen buchstaben ein, bekomm ich eine exception in meiner filterfunktion beim funktionsaufruf von clear();
Sobald ich list.clear() aufrufe um die liste zu leeren passiert folgendes (debug ):
es springt in die QListWidget.cpp in diese Fkt:
Code: Alles auswählen
void QListWidget::clear()
{
Q_D(QListWidget);
selectionModel()->clear();
d->model()->clear();
}Code: Alles auswählen
#if defined(QT_NO_EXCEPTIONS)
c.receiver->qt_metacall(QMetaObject::InvokeMetaMethod, method, argv ? argv : empty_argv);
#else
try {
c.receiver->qt_metacall(QMetaObject::InvokeMetaMethod, method, argv ? argv : empty_argv);
} catch (...) {
list->lock.lockForRead();
if (c.receiver)
c.receiver->d_func()->currentSender = previousSender;
throw;
}
#endifBin fuer jede hilfe dankbar,
Michael