QComboBox mit Text füllen

Alles rund um die Programmierung mit Qt
Antworten
anno1988
Beiträge: 280
Registriert: 23. Januar 2009 20:49

QComboBox mit Text füllen

Beitrag von anno1988 »

Hallo,

ich habe folgendes Problem.

Ich finde nichts in der QComboBox Klasse um nur den Text der aktuell angezeigt wird neu zu setzen ohne dafür neue Items einzufügen.

Ich habe in der Combobox vordefinierte Werte, dies auch nicht verändert werden dürfen. Dazu habe ich die Einstellung "setInsertPolicy(QComboBox::NoInsert);" gesetzt.

Allerdings darf man den Text ändern. Ich finde aber nur die methode "currentText()", aber nichts wie z.B. "setCurrentText()".

Wie kann ich das denn lösen?
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Du musst glaub ich noch ein Auge für Doku lesen entwickeln ;)
Es fällt doch auf, dass überall "item" steht. addItem, insertItem, removeItem.
Dann schaut man unter "s" wie "set" und findet -> setItemText().
So schaut das dann aus:

Code: Alles auswählen

comboBox->setItemText( comboBox->currentIndex(), "Ich bin neuer ComboText" );
anno1988
Beiträge: 280
Registriert: 23. Januar 2009 20:49

Beitrag von anno1988 »

franzf hat geschrieben:Du musst glaub ich noch ein Auge für Doku lesen entwickeln ;)
Es fällt doch auf, dass überall "item" steht. addItem, insertItem, removeItem.
Dann schaut man unter "s" wie "set" und findet -> setItemText().
So schaut das dann aus:

Code: Alles auswählen

comboBox->setItemText( comboBox->currentIndex(), "Ich bin neuer ComboText" );
diesen Eintrag habe ich in der Doku gesehen. Allerdings ist das nicht ganz was ich meine. damit verändere ich ja den Text eines Items in der Combobox.

Durch meine Einstellung

Code: Alles auswählen

setInsertPolicy(QComboBox::NoInsert);
wird kein Item verändert, sobald ich etwas von Hand in das Edit-Feld der Textbox eintrage.

Naja ich denke da muss ich eine Vererbung der Klasse machen, da es diese Funktionalität anscheinend nicht gibt, den aktuellen Text im Edit-Feld zu verändern ohne dabei die Items anzurühren (per set-Methode).

Soweit ich gesehen habe ging es in Qt 3.3 noch, aber das ist ja schon eine Weile her.^^
archer
Beiträge: 306
Registriert: 2. Februar 2006 09:56

Beitrag von archer »

Hast du mal die Methode setEditText(..) probiert?
Vieleicht funktioniert die?
anno1988
Beiträge: 280
Registriert: 23. Januar 2009 20:49

Beitrag von anno1988 »

stimmt, die könnte passen.
Antworten