bara de stare

ierarhie moștenire

bare de stare sunt widget-uri simple, folosite pentru a afișa un mesaj de tip text. Ei țin un teanc de mesaje care sunt plasate în ele, astfel încât încercarea de a aminti stiva de posturi de top (popping) va determina mesajul text de afișare _predyduschego_.

Pentru a permite diferite aplicații să utilizeze blocuri de o bara de stare pentru a afișa mesajul, bara de stare fereastră utilizează identificatori numesc context (Identificatori de context), care sunt folosite pentru a identifica diferite „utilizatori“ în viitor. Nahoditya afișat mesajul este întotdeauna pe partea de sus a stivei, indiferent de contextul apelului. În general, mesajele sunt aranjate într-o stivă pe metoda LIFO: ultima-in-primul-venit, fără nici o dependență de context.

Crearea echipei bara de stare:

$ Statusbar = new Gtk :: Statusbar ();

ID-ul nou context poate fi obținut prin get_context_id, trecând ca un argument pentru o scurtă descriere a contextului creat.

Există trei funcții pentru lucrul cu bare de stare:

$ Statusbar-> împinge ($ context_id, $ text);

$ Statusbar-> elimina ($ context_id, $ message_ID);

În primul rând, împingere (). Acesta este utilizat pentru a adăuga noi mesaje în bara de stare. Se returnează identificatorul de mesaje, care vă permite să le eliminați din bara de stare funcția stivă gtk_statusbar_remove.

Funcția pop () elimină primele mesaje stiva de identitate specificat context.

Următorul exemplu creează o bară de stare și două butoane: unul pune mesajul pe bara de stare, iar celelalte apeluri de pe statutul lor Barzu din stivă.

Bara de stare Sursa programului

# / Usr / bin / perl -w utilizați Gtk !; utilizați stricte; set_locale Gtk; init Gtk; $ False meu = 0; mi $ = true 1; fereastra mea $; vbox mi $; butonul meu de $; statusbar mi $; context_id mi $; numaratoarea mea $ = 1; # Creați fereastra $ fereastră nouă cerere = Gtk :: Window ( "toplevel"); $ Window-> set_usize (200, 100); $ Window-> SET_TITLE ( "GTK Statusbar Exemplu"); $ Window-> signal_connect ( "delete_event", sub- exit (0)>); $ Vbox = new Gtk :: VBox ($ false, 1); $ Window-> adaugă ($ Vbox); $ Vbox-> spectacol (); # Creați un $ statusbar bara de stare = new Gtk :: Statusbar (); $ Vbox-> pack_start ($ statusbar, $ true, $ true, 0); $ Statusbar-> spectacol (); # Creați o nouă identitate de context, care va continua să fie utilizate pentru a gestiona un teanc de $ context_id = $ statusbar-> get_context_id ( "Statusbar exemplul"); # Creați butonul de posturi buton add $ = new Gtk :: Button ( "Push articol"); $ Buton-> signal_connect ( "apasat", \ push_item, $ context_id); $ Vbox-> pack_start (butonul $, $ true, $ true, 2); $ Buton-> spectacol (); # Creați un buton pentru a afișa în partea de sus a butonului stiva mesaje $ = new Gtk :: Button ( "Pop ultimul element"); $ Buton-> signal_connect ( "apasat", \ pop_item, $ context_id); $ Vbox-> pack_start (butonul $, $ true, $ true, 2); $ Buton-> spectacol (); $ Window-> spectacol (); Gtk principal; exit (0); Funcția # ### pune mesajul în stivă. Și incrementa contorul. subpush_itemîmpingere ($ context_id, $ buff);> # Call soobscheie partea de sus a stivei subpop_itempop ($ context_id);> # Sfârșitul exemplului

bara de stare

articole similare