Wie ein AutoComplete schreiben?

Alles rund um die Programmierung mit Qt
Antworten
sea_bear
Beiträge: 61
Registriert: 9. Oktober 2005 16:40
Wohnort: Schortens

Wie ein AutoComplete schreiben?

Beitrag von sea_bear »

Moin moin!
Ich brauche in einem Programm eine Funktion, welche laufend die Eingabe des Users in einem Feld überwacht und mit dem Inhalt einer Datenbank vergleicht. Liegt eine Übereinstimmung vor, so soll nun diese Eingabe vervollständigt werden. Möchte der User die Eingabe übernehmen, so verläßt er einfach das Feld, ansonsten kann er die Eingabe überschreiben. Eigentlich eine Funktion wie man sie von vielen Programmen her kennt.
Nur, wie schreibe ich sie selber?? Stehe da ein wenig auf dem Schlauch. Ich habe nun eine Funktion geschrieben, welche auch ganz gut klappt. leider ist der User dmit aber nicht in der Lage die Vorschläge des Computers zu überschreiben. Nicht so toll also. Wie aber mache ich es besser??

mfg
Tobias
nora
Beiträge: 14
Registriert: 1. Juni 2005 16:54

Re: Wie ein AutoComplete schreiben?

Beitrag von nora »

> leider ist der User dmit aber nicht in der Lage die Vorschläge des
> Computers zu überschreiben. Nicht so toll also. Wie aber mache ich
> es besser??

Hmm, ich weiß ja nicht wie Du das realisiert hast.

Ich habe mir dafür einen Validator gebaut, welcher z.B. auf folgende Weise
in ein QTextEdit eingehangen wird:

Code: Alles auswählen

m->e_ort->setValidator (new Vonl (m, "SELECT ort FROM plz WHERE ort LIKE '%s'", dbh));
Das 'm->e_ort' ist mein Formularfeld für Ort und der Validator macht bei
jedem gültigen Eingabezeichen ein SELECT in der Datenbank auf die Orte
für die Zeichen 0 bis Cursor-Position. Der erste gefundene Ort wird ins
Feld kopiert.

Falls Dir das als Idee nicht ausreicht, kann ich auch mal den Quelltext
posten. Die Klasse 'Vonl' besteht nur aus 20-30 Zeilen.

Liebe Grüße, Nora.
Antworten