Ukwakha uhlelo lokusebenza lwe-Vala + Gtk3. [Ingxenye yokuqala]

Ngemuva kwalokho okuthunyelwe kokuqala Ngifunde ukuphawula ukuthi kungangcono ngiqale ngento eyinkimbinkimbi kune- "hello world", lapho-ke ngizokwenza ukulandelana (I-3 o-4) Thumela ukudala uhlelo lokusebenza olulula (nge-vala + gtk 3).

Uhlelo lokusebenza luzoba nombuzo olula wokukhetha umbuzo nempendulo yomdlalo (uhlobo lweTrivia), lapho ukuphendula imibuzo emi-3 ngokungafanele kuphela (umdlalo ngaphezulu), futhi inhloso ukuphendula imibuzo eminingi ngangokunokwenzeka, embuzweni ngamunye onawo isikhathi esilinganiselwe sokuphendula.

Umklamo

Umklamo oyinhloko wesicelo sethu uzoba:

uhlelo lokusebenza

Kamuva sizobeka ezinye izinkinobho ezizosinika ithuba lokukhetha okungu-50% (kususwe izimpendulo ezimbili ezingalungile), isikhathi sokuqandisa, ukudlulisa umbuzo. Zonke zingasetshenziswa kanye kuphela, ukukhubazeka uma sekusetshenzisiwe.

Dizayina a Ikhodi
Njengoba sibona ekwakhiweni singabona izinto ze-gtk esizozisebenzisa:

Izimpendulo -> Inkinobho.

Umbuzo -> Ilebula.

Isikhathi -> ProgressBar.

Amaphuzu nemibuzo engalungile / eyiyo -> Ilebula.

Siyabona ukuthi sinesakhiwo esime mpo ngakho-ke singasebenzisa i-GBox mpo.

Ikhodi

int main (intambo [] args) {Gtk.init (ref args); var iwindi = iGtk entsha.Window (); window.title = "uhlelo lokusebenza"; iwindi.window_position = Gtk.WindowPosition.CENTER; iwindi.set_default_size (300, 340); iwindi.destroy.connect (Gtk.main_quit); iwindi.set_border_width (10); // ibhokisi elime mpo var box = iGtk.Box entsha (Gtk.Orientation.VERTICAL, 0); ibhokisi.set_spacing (10); // Ilebuli yombuzo var question = new Gtk.Label ("Umbuzo?"); // ibha yesikhathi yokuhlela var var time_bar = new Gtk.ProgressBar (); isikhathi_bar.set_text ("Isikhathi"); time_bar.set_show_text (kuyiqiniso); // Izinkinobho zokuphendula var response1 = new Gtk.Button.with_label ("Impendulo 1"); var resposta2 = entsha Gtk.Button.with_label ("Phendula 2"); var resposta3 = i-Gtk.Button.with_label entsha ("Phendula u-3"); var resposta4 = Gtk.Button.with_label entsha ("Phendula 4"); // amalebula info var points = new Gtk.Label ("Amaphuzu: 0"); ibhokisi.pack_start (umbuzo); ibhokisi.pack_start (ibha yesikhathi); ibhokisi.pack_start (impendulo1); ibhokisi.pack_start (resposta2); ibhokisi.pack_start (resposta3); ibhokisi.pack_start (resposta4); ibhokisi.pack_start (amaphuzu); iwindi.add (ibhokisi); iwindi.show_all (); IGtk.main (); buyela 0;}

Ukuthathwa kusuka ngo-2013-11-02 21:44:14

Ukuhambisa "isikhathi" sisebenzisa i-GLib.Timeout lapho wonke ama-millisecond angu-500 azosebenza khona (kuyiluphu lapho okuguquguqukayo okuqukethe inani lebha yethu kuzokwanda)

I-GLib.Timeout.add (500, () => {// Thola inqubekela phambili yamanje: // (0.0 -> 0%; 1.0 -> 100%) inqubekela phambili ephindwe kabili = time_bar.get_fraction (); // Vuselela ibha: inqubekela phambili = inqubekela phambili + 0.01; isikhathi_bar.set_fraction (inqubekelaphambili); // Phinda kuze kube ngu-100% ukubuya kwenqubekela phambili <1.0;});

Izixhumanisi zentshisekelo 
http://www.valadoc.org/#!wiki=index (ungathola zonke izinto ze-gtk ngezindlela zazo ...)


Amazwana ayi-6, shiya okwakho

Shiya umbono wakho

Ikheli lakho le ngeke ishicilelwe. Ezidingekayo ibhalwe nge *

*

*

  1. Ubhekele imininingwane: Miguel Ángel Gatón
  2. Inhloso yedatha: Lawula Ugaxekile, ukuphathwa kwamazwana.
  3. Ukusemthethweni: Imvume yakho
  4. Ukuxhumana kwemininingwane: Imininingwane ngeke idluliselwe kubantu besithathu ngaphandle kwesibopho esisemthethweni.
  5. Isitoreji sedatha: Idatabase ebanjwe yi-Occentus Networks (EU)
  6. Amalungelo: Nganoma yisiphi isikhathi ungakhawulela, uthole futhi ususe imininingwane yakho.

  1.   lozothole kusho

    Kuhle kakhulu, ake ngikubuze ukuthi ngingalwenza kanjani uhlobo lwe-TABS kodwa zibheke phezulu, yize kungenjalo akudingeki ukuthi zibe amathebhu, zingaba izinkinobho noma i-ToggleButtons, kepha ngidinga ukusebenza kwethebhu, okuthi lapho kuthinta 1 okuqukethwe kwayo kubonakale enye ithebhu ikhubaziwe, angazi noma ngiyazichaza yini, ngishiya isithombe ukubona ukuthi unganginika yini imininingwane ethile engingayiphenya. Ngiyabonga!

    ISITHOMBE: http://i.imm.io/1jURw.png

    1.    lolbimbo kusho

      "Isakhiwo" noma ushintsho lombhalo (isibonelo)?

  2.   pvv92 kusho

    I-Catalan parla

  3.   emangele kusho

    Lokhu kuhle kakhulu empeleni kuyinto efana nalokho ebengikufuna, umbuzo, ngabe lo mbuzo ungaxhunyaniswa ne-terminal ngandlela thile?
    Isibonelo: Ukuqala ngizinike isikhathi sokuphendula ngikushiya kungenamkhawulo futhi yilokho engingathanda ukukwenza.

    Iyiphi imvelo yedeskithophu ofuna ukuyifaka?
    KDE
    I-Gnome 3
    I-Cinnamon
    Unity

    Futhi ngakunye kwalokhu obekuxhunywe kumyalo wokufaka ngokufanele esigungwini, Sudo apt-get install ubuntu-desktop

    1.    lolbimbo kusho

      Yebo, kuzofanele ubhale i-Process.spawn_command_line_async ("apt-get install ubuntu-desktop");

      http://valadoc.org/#!api=glib-2.0/GLib.Process.spawn_command_line_sync

  4.   USaul Uribe kusho

    Kuhle kakhulu, ngiyakuthanda okuthunyelwe, ngizozijwayeza (futhi ngibona ngizoqhubeka), imikhonzo