Portál AbcLinuxu, 8. května 2025 18:02

Dotaz: gtk_vscale - ako definovať výšku prvku?

6.4.2011 13:13 PeterS. | skóre: 10
gtk_vscale - ako definovať výšku prvku?
Přečteno: 160×
Odpovědět | Admin

Ahoj,
najpv poviem že v gtk neviem programovať, robím iba jeden plugin do gimpu a robím tam okno na zadávanie parametrov.
Zatiaľ to funguje vcelku dobre, hlavný prvok je slider (posuvník) aj ten funguje - ale korektne iba ked ho umiestnim ležato - ma dlžku cca 4 cm - paráda.
Ale kod ho dam vertikálne, tak prakticky nemá žiadnu dlžku (výšku), prakticky je to len bežec, ktorý sa nemá kam posúvať.

Takže otázka je kde určím výšku toho prvku. Hľadál som na nete, ale chýba mi základný prehľad ako gtk vlastne funguje.

Bežec je umiestnený v main_hbox a pred ním (v main_hbox) je ešte label. Výška toho main_hbox, nie je nikde definovaná.

Čo s tým? (Verím že je to triviálna otázka)

Vďaka

 

tu je časť kodu:


slider_adj = gtk_adjustment_new (1.0, 0.0, 3.0, 0.1, 1.0, 0);
slider = gtk_vscale_new (GTK_ADJUSTMENT (slider_adj));
gtk_box_pack_start (GTK_BOX (main_hbox), slider, TRUE, TRUE, 0);
gtk_widget_show (slider);

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

6.4.2011 13:30 chrono
Rozbalit Rozbalit vše Re: gtk_vscale - ako definovať výšku prvku?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pozri sa na gtk_widget_set_size_request.
6.4.2011 13:46 PeterS. | skóre: 10
Rozbalit Rozbalit vše Re: gtk_vscale - ako definovať výšku prvku?
SUPER, funguje...

A ked ešte môžem jednu otázku - teraz ten slider je logicky dole hlavou - 0 je hore, a 3 (maximálna hodnota) je dole. Ako ho obrátim? Mohla by to byť voľba pri gtkscale alebo pri gtkvscale, ale nevidím to tam..
7.4.2011 13:21 l4m4
Rozbalit Rozbalit vše Re: gtk_vscale - ako definovať výšku prvku?
gtk_range_set_inverted()
7.4.2011 14:48 PeterS. | skóre: 10
Rozbalit Rozbalit vše Re: gtk_vscale - ako definovať výšku prvku?
super, len si neviem poradiť zo syntaxou, skúšal som niečo také:

  slider_adj = gtk_adjustment_new (1.0, 0.0, 4.0, 0.01, 0.1, 0);
  slider = gtk_vscale_new (GTK_ADJUSTMENT (slider_adj));
  gtk_scale_set_digits(GTK_SCALE (slider), 2) ; 
  gtk_range_set_inverted(GTK_SCALE (slider),TRUE) ; <------
ale, hádže mi to hlášku:

warning: passing argument 1 of ‘gtk_range_set_inverted’ from incompatible pointer type

nepomohol by si mi aj s týmto? Z manuálových stránok neviem vyjsť. Vďaka
7.4.2011 15:04 chrono
Rozbalit Rozbalit vše Re: gtk_vscale - ako definovať výšku prvku?
Názov tej funkcie začína gtk_range_... (takže pretypovávanie na GTK_SCALE asi nie je tá najrozumnejšia možnosť). :)
7.4.2011 15:17 PeterS. | skóre: 10
Rozbalit Rozbalit vše Re: gtk_vscale - ako definovať výšku prvku?
ale s gtk_scale_set_inverted dostanem:

warning: implicit declaration of function ‘gtk_scale_set_inverted’

tu v tomto threade to neuvádzam - ale ja v gtk neviem programovať, iba dosť ťažkopádne modifikujem cudzí kod... a GUI nie je pre mna hlavna časť toho čo robím....
7.4.2011 17:13 l4m4
Rozbalit Rozbalit vše Re: gtk_vscale - ako definovať výšku prvku?
Název funkce začíná gtk_range_.

Takže její první argument je typu GtkRange*.

Takže se přetypovává GTK_RANGE.

Jasné?
8.4.2011 08:18 PeterS. | skóre: 10
Rozbalit Rozbalit vše Re: gtk_vscale - ako definovať výšku prvku?
no s mojimi znalostami to nie je jasné :). Ale skusil som toto:
gtk_range_set_inverted(GTK_RANGE (slider),TRUE) ;
a fungovalo to, takže vďaka

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.