Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme.

Combobox füllen

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 ...

Antwort
Alt 04.09.07, 18:04   #1 (permalink)
 
Registriert seit: 18.12.06
woofast Leistung: Facit NTK
woofast eine Nachricht über ICQ schicken
Likes: 0
Standard Combobox füllen

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);
Jedoch wenn ich nun statt "String 1" oder "String 2",
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);
Fehlermeldung:
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!
woofast ist offline   Mit Zitat antworten
Alt 04.09.07, 19:18   #2 (permalink)
 
Benutzerbild von Eydeet
 
Registriert seit: 14.04.06
Eydeet Leistung: Facit NTK
Likes: 4
Standard

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.
Eydeet ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 04.09.07, 21:49   #3 (permalink)
Themenstarter
 
Registriert seit: 18.12.06
woofast Leistung: Facit NTK
woofast eine Nachricht über ICQ schicken
Likes: 0
Standard

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);
SONDERN SO:
Code:
string s("String 1");
glist = g_list_append (glist, gpointer(s.c_str()));
Nochmal vielen Dank...

================

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???
woofast ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » Combobox füllen
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ä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


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61