Zamiast być gołosłownym to lepiej pokazać, że coś działa.
Jako, że miałem troszkę czasu, w załączniku projekt Qt z moją metodą (każdy dowolny znak, który nie jest polskim znakiem jest traktowany jako dowolna litera). Słownik do pobrania można znaleźć tutaj.
Na moim dość starym laptopie (Intel Core 2 Duo 2GHz), wyniki daje w zasadzie natychmiast.
Jedynie bardzo długie hasła z jedną literą 'a' zajmują odczuwalny kawałek czasu, ale opóźnienie to wynika z przygotowania danych do wyświetlania (budowanie modelu), gdy danych jest bardzo dużo. Gdybym napisał swój model danych problem zniknie całkowicie.
Okazało się, że jest bug w QListView :) i dlatego performance bywa do bani (zawsze tworzy wszystkie elementy zamiast tylko te widoczne). W załączniku dałem nową wersje z modelem danych i zmieniłem QListView na QTableView i teraz zawsze działa szybko.
Oczyściłem jeszcze kod (literówki i pozostałości z poprzedniej wersji).