Seite 1 von 1

QListWidget clear() Problem

Verfasst: 26. Juli 2006 23:00
von michbex
Hi,

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();
}
dann in die QObject

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;
        }
#endif
von dort aus wirft er mir dann die exception. Wiegesagt, das ist nur wenn im ListWidget ein eintrag aktiv ist.

Bin fuer jede hilfe dankbar,

Michael