| Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme. |
Diskussion: Combobox füllen im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Guten Tag zusammen! Folgendes Problem: Ich schreibe gerade eine C/C++-Anwendung mit GUI. Ich verwende als Grafikbibliothek GTK. Mein Problem ...
![]() |
| | #1 (permalink) |
| Anzeige Guten Tag zusammen! Folgendes Problem: Ich schreibe gerade eine C/C++-Anwendung mit GUI. Ich verwende als Grafikbibliothek GTK. Mein Problem ist es, dass ich eine Combobox füllen möchte und zwar mit den Daten aus einer Textdatei: Die Textdatei ist so aufgebaut, das in jeder Zeile ein Namen steht: namen.dat: Mueller Huber . . . Das Auslesen der Textdatei ist kein Problem, jedoch bekomme ich die Daten nicht in die Combobox... Anlegen der Combobox und füllen der GList... so funktioniert es ohne Probleme: Code: GtkWidget *combo; GList *glist = NULL; combo = gtk_combo_new(); glist = g_list_append (glist, "String 1"); glist = g_list_append (glist, "String 2"); gtk_combo_set_popdown_strings(GTK_COMBO(combo), glist); also konstante Strings, eine Variable verwenden möchte (Muss ich ja, da ich ja aus der Textdatei lese) bringt er eine Fehlermeldung zu diesem Code: Code: GtkWidget *combo;
GList *glist = NULL;
combo = gtk_combo_new();
ifstream f;
string s;
f.open("name.dat", ios::in);
while(!f.eof())
{
getline(f, s);
glist = g_list_append (glist, s);
}
f.close();
gtk_combo_set_popdown_strings(GTK_COMBO(combo), glist); Konvertierung des Parameters 2 von 'std::string' in 'gpointer' nicht möglich Fehler tritt HIER in Zeile 14 auf... Ich hoffe mir kann jemand helfen... Suche schon den ganzen Tag nach einer Lösung. Wenn jemand weiß wie man es machen muss, bzw. einen Vorschlag hat, bin ich sehr dankbar! | |
| | |
| | #2 (permalink) |
| Registriert seit: 14.04.06 ![]() Likes: 4 | Ich habe noch nie mit der GTK-Bibiliothek zu tun gehabt, aber g_list_append scheint einen gpointer (die GTK-Version eines Pointers) statt einer String-Klasse zu erwarten. Probiers doch mal mit "s.c_str()". Das sollte einen Pointer auf das interne Char-Array der Klasse zurückgeben. Eventuell musst du das noch als gpointer casten. |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Themenstarter | Hey, danke es klappt... Also nochmal für Leute die das selbe Problem haben: NICHT SO: Code: string s("String 1");
glist = g_list_append (glist, s); Code: string s("String 1");
glist = g_list_append (glist, gpointer(s.c_str())); ================ Jedoch tritt nun ein weiteres Problem auf: Es funktioniert nur, wenn der String vorher festgelegt wurde. Wenn der String jedoch aus der Textdatei kommt, also wenn der String mithilfe von getline() geholt wird mekert er beim Eintragen in die Combobox mit: Invalid UTF-8 string passed to pango_layout_set_text() Und es werden irgendwelche Zeichen in die Combobox eingetragen wie: ?=?, Xz?, ... Jemand eine Idee? Ist hier wirklich niemand, der sich in diesem Gebiet ein bisschen besser auskennt??? |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Combobox & VBA | keymaker | Code Kitchen | 2 | 04.09.08 11:37 |
| ComboBox sortieren in Delphi | ByteDevil | Code Kitchen | 0 | 24.11.07 12:52 |
| MASM - Struktur füllen | rev | Code Kitchen | 4 | 29.07.06 15:48 |
| C++Builder - ComboBox | nook | Code Kitchen | 4 | 19.10.02 01:44 |
| ComboBox in VB | TheEvilOne | Code Kitchen | 8 | 26.10.01 22:51 |