Fórum Ubuntu CZ/SK
		Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: Firzen  14 Června 2008, 15:52:53
		
			
			- 
				Dobrý den :)
začínám v GTK a chci aby se na tlačítko(nebo do textu) vypsala proměnná nebo obsah pole, problém je, že nevím jak to provést - na tisíci stránkách knihy "Mistrovství v C++" je totiž popsán pouze objekt cout a cerr, kde se to dělá takto:
cout << "blabla" << promenna_nebo_pole << "dalsi bla bla";jenže něco ve smyslu:
button = gtk_button_new_with_label ("Text na tlacitku cislo " << cislo);v GTK prostě nefunguje... Nevíte někdo, jak to udělat? Moc bych to potřeboval.
			 
			
			- 
				
Dobrý den :)
začínám v GTK a chci aby se na tlačítko(nebo do textu) vypsala proměnná nebo obsah pole, problém je, že nevím jak to provést - na tisíci stránkách knihy "Mistrovství v C++" je totiž popsán pouze objekt cout a cerr, kde se to dělá takto:
cout << "blabla" << promenna_nebo_pole << "dalsi bla bla";jenže něco ve smyslu:
button = gtk_button_new_with_label ("Text na tlacitku cislo " << cislo);v GTK prostě nefunguje... Nevíte někdo, jak to udělat? Moc bych to potřeboval.
No budete mít objekt na tu určitou komponentu (TextBox, Button) a ten object bude mít zajisté nějakou metodu něco jako SetText a parametr bude object řetězce ;)
			 
			
			- 
				Omlouvám se, ale moc jsem to nepochopil; nebyl by nějaký příklad? (z toho to pochopím nejlépe..)
			
 
			
			- 
				button = gtk_button_new_with_label ("Text na tlacitku cislo " + cislo)
tohle by nefungovalo?
			 
			
			- 
				
button = gtk_button_new_with_label ("Text na tlacitku cislo " + cislo)
tohle by nefungovalo?
No, funguje to, ale dělá to něco jiného, než jsem chtěl :D  Tohle totiž skryje od začátku tlačítka takový počet písmen(na něm napsaných), kolik určuje proměnná(třeba to "cislo").. pěkné, ale já potřebuji, aby když dám hodnotu třeba int cislo=4;, tak abych mohl určit kam se na tlačítko hodnota proměnné "cislo" vypíše a na tlačítku by potom bylo třeba "Linux 4ever", chápete ne? (to právě nevím jak ::))
			 
			
			- 
				No, pokud by to nemuselo být C++, ale jenom C, taky by mohlo zabrat něco jako:
button = gtk_button_new_with_label(g_strdup_printf("text na tlačítku - %d", cislo));
			 
			
			- 
				tak jeste udelat dalsi promenou, nazvanou treba popisek
popisek = "Text na tlacitku" + cislo
button = gtk_button_new_with_label (popisek)
			 
			
			- 
				
No, pokud by to nemuselo být C++, ale jenom C, taky by mohlo zabrat něco jako:
button = gtk_button_new_with_label(g_strdup_printf("text na tlačítku - %d", cislo));
Super :) tohle vážně funguje, nikde v dokumentaci jsem to nenašel(nechápu, jak mohli zapomenout na tak základní věc..) díky moc ;)
tak jeste udelat dalsi promenou, nazvanou treba popisek
popisek = "Text na tlacitku" + cislo
button = gtk_button_new_with_label (popisek)
Tohle se bohužel kompilátoru nelíbí..
			 
			
			- 
				
tak jeste udelat dalsi promenou, nazvanou treba popisek
popisek = "Text na tlacitku" + cislo
button = gtk_button_new_with_label (popisek)
Tohle se bohužel kompilátoru nelíbí..
[/quote]
tipuju, že to bude tím, že jedna z těch proměnejch je textová a druhá číselná... musíš to číslo nějak převýst na text...
			 
			
			- 
				Pro převod čísel na text už jsem si dávno napsal hlavičkovej soubor.. jenže kompilátor to nedovolí ani když je všechno jen text.., ale to nevadí - řešení už mám  :) (samozřejmě děkuji za pomoc ;))
			
 
			
			- 
				tak sem napiš jak sji to vyřešil... pro případné další zájemce se stejným problémem ;)
			
 
			
			- 
				No vyřešil jsem to následovně:
int cislo=7;
button = gtk_button_new_with_label(g_strdup_printf("Tlačítko - %d", cislo));--> Tím dostaneme na tlačítku text: Tlačítko - 7  (za %d se dosadí proměnná za čárkou, zde proměnná cislo)
a ještě jsem pokusem zjistil, že %s (napadlo mě, že to bude zkratka String) do textu dovede vložit i text z pole:
char text[]="je super";
button = gtk_button_new_with_label(g_strdup_printf("Linux %s OS", text));--> Toto nám na tlačítko vypíše: Linux je super OS
Jinak to samozřejmě neplatí jen pro tlačítka ale i pro normální texty např. v dialogových oknech apt..  :)
			 
			
			- 
				Pokud to nechceš všechno hledat metodou pokus ‒ omyl, tak všechny formátovací volby se dají získat příkazem man 3 printf ;) (vyžaduje balík manpages-dev).