Seite 1 von 1

QCompleter

Verfasst: 27. Januar 2008 14:35
von jimg
Hallo,

ich hab noch ein Problem mit QCompleter in Verbindung mit QLineEdit.

Also QCompleter verwendet also Model ein SQL-Table mit Feldern (ID,Name). Ich will das Feld Name zum completen benutzen und hab daher folgendes gemacht:

completer->setCompletionColumn(1);

damit klappt das completen richtig nur werden im Popup die ID's anstatt der namen angezeigt. Wie kann ich das noch ändern?

Wenn ich anstatt setCompletionColumn, removeColumn(0) mache funktioniert alles, aber ich brauche die IDs später noch.

Kann mir jemand helfen?

gruß
jim

Verfasst: 27. Januar 2008 14:54
von upsala
Warum verwendest du dann keine QComboBox?

Verfasst: 27. Januar 2008 15:21
von jimg
also es ist nicht direkt ein QLineEdit.
Wie im Thread "QCompleter + QLineEdit" schon besprochen, hab ich mir eine Klasse von QLineEdit abgeleitet die bei eingabe mehrerer tags (die durch komma getrennt sind) immernur den letzten tag mit den completions vergleicht.
Das geht mit einer Combobox ja auch nicht ohne weiteres.

Was ich aber komisch finde ist, dass es mit setCompletionColumn nicht geht. Der Assistent sagt zu der funktion:

"This property holds the column in the model in which completions are searched for. If the popup() is a QListView, it is automatically setup to display this column."

Da ich ja kein spezielles popup definiert hab sollte es ja ein QListView sein und damit sollte der Inhalt ja automatisch auf die neue Spalte angepasst werden.