Kugadzira Vala + Gtk3 app. [Chikamu chekutanga]

Mushure mokunge kutanga post Ndakaverenga chirevo kuti zvirinani kutanga nechimwe chinhu chakaomarara pane "nyika yekukwazisa", ipapo ndichaita nhevedzano (3 o 4) post inogadzira iri nyore application (ine vala + gtk 3).

Iko kunyorera kuchave neakareruka akawanda sarudzo sarudzo uye mhinduro mutambo (Trivia mhando), umo kupindura mibvunzo mitatu zvisizvo kunopera (mutambo pamusoro), uye chinangwa ndechekupindura mibvunzo yakawanda sezvinobvira, pamubvunzo wega wega une nguva shoma yekupindura.

Chigadzirwa

Dhizaini huru yekushandisa kwedu ichave:

App

Gare gare isu tichaisa mamwe mabhatani ayo achatipa iyo sarudzo ye50% (kubvisa mhinduro mbiri dzisina kunaka), nguva yechando, kupasa mubvunzo. Dzese dzinogona kushandiswa kamwe chete, kuve wakaremara kana uchinge washandiswa.

Dhizaina a Code
Sezvo isu tichiona mune dhizaini tinogona kuona izvo gtk zvinhu zvatinozoshandisa:

Mhinduro -> Bhatani.

Mubvunzo -> Chitauro.

Nguva -> ProgressBar.

Akanganisa / akakodzera mapoinzi uye mibvunzo -> Chitaera.

Tinogona kuona kuti isu tine chimiro chakamira saka tinogona kushandisa GBox kutwasuka.

Code

int main (tambo [] args) {Gtk.init (ref args); var windows = nyowani Gtk.Window (); window.title = "app"; hwindo.window_position = Gtk.WindowPosition.CENTER; hwindo.set_default_size (300, 340); hwindo.destroy.connect (Gtk.main_quit); hwindo.set_border_width (10); // vertical box var box = nyowani Gtk.Box (Gtk.Orientation.VERTICAL, 0); bhokisi.set_spacing (10); // Chita chemubvunzo var mubvunzo = nyowani Gtk.Label ("Mubvunzo?"); // purogiramu yenguva bar var time_bar = nyowani Gtk.ProgressBar (); time_bar.set_text ("Nguva"); time_bar.set_show_text (ichokwadi); // Mhinduro mabhatani var mhinduro1 = nyowani Gtk.Button.with_label ("Mhinduro 1"); var resposta2 = nyowani Gtk.Button.with_label ("Pindura 2"); var resposta3 = nyowani Gtk.Button.with_label ("Pindura 3"); var resposta4 = nyowani Gtk.Button.with_label ("Pindura 4"); // zvinyorwa zvinyorwa info var points = nyowani Gtk.Label ("Points: 0"); bhokisi.pack_start (mubvunzo); bhokisi.pack_start (time_bar); bhokisi.pack_start (pindura1); bhokisi.pack_start (resposta2); bhokisi.pack_start (resposta3); bhokisi.pack_start (resposta4); bhokisi.pack_start (poindi); hwindo.add (bhokisi); hwindo.show_all (); Gtk.main (); dzoka 0;}

Capture kubva 2013-11-02 21:44:14

Kufambisa iyo "nguva" isu tinoshandisa GLib.Timeout iko kwese 500 milliseconds ichaitwa (chiuno panotenderera panosiyana iyo ine kukosha kwebhawa redu ichawedzera)

GLib.Timeout.add (500, () => {// Tora kufambira mberi kwazvino: // (0.0 -> 0%; 1.0 -> 100%) kaviri kufambira mberi = time_bar.get_fraction (); // Gadziridza iyo bar: kufambira mberi = kufambira mberi + 0.01; nguva_bar.set_fraction (kufambira mberi); // Dzokorora kusvikira zana muzana radzoka mberi <100;});

Zvinongedzo zvekufarira 
http://www.valadoc.org/#!wiki=index (unogona kuwana zvese gtk zvinhu nemaitiro avo ...)


Siya yako yekutaura

Your kero e havazobvumirwi ichibudiswa. Raida minda anozivikanwa ne *

*

*

  1. Inotarisira iyo data: Miguel Ángel Gatón
  2. Chinangwa cheiyo data: Kudzora SPAM, manejimendi manejimendi.
  3. Legitimation: Kubvuma kwako
  4. Kutaurirana kwedata
  5. Dhata yekuchengetedza: Dhatabhesi inobatwa neOccentus Networks (EU)
  6. Kodzero: Panguva ipi neipi iwe unogona kudzora, kupora uye kudzima ruzivo rwako

  1.   lozototo akadaro

    Zvakanakisa, rega ndikubvunze kuti ndingaite sei mhando yeTABS asi yakatwasuka, kunyangwe hazvo isingafanirwe kunge ari ma tabo, anogona kuve mabhatani kana ToggleButtons, asi ini ndoda hunhu hwetabhu, kuti kana uchibata 1 zvirimo zvionekwe uye iyo imwe tebhu yakaremara, handizive kana ndikazvitsanangura, ndinosiya mufananidzo kuti ndione kana uchikwanisa kundipa ruzivo kuti ndiongorore. Ndatenda!

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

    1.    lolbimbo akadaro

      Iyo «marongero» kana shanduko yechinyorwa (semuenzaniso)

  2.   pandev92 akadaro

    Catalan parla

  3.   ndakakatyamara akadaro

    Izvi zvakanaka chaizvo muchokwadi chinhu chakafanana nezvandaitsvaga, mubvunzo, uyu mubvunzo ungabatanidzwe kune terminal neimwe nzira?
    Semuenzaniso: Kutanga ini ndinotora nguva yekupindura ndinoisiya isina muganho uye ndizvo zvingave zvandiri kuda kuita.

    Ndeipi desktop desktop yaunoda kuisa?
    KDE
    gnome 3
    Cinnamon
    kubatana

    Uye yega yeaya aibatanidzwa neayo yekumisikidza yekuraira mune iyo terminal, sudo apt-tora kuisa ubuntu-desktop

    1.    lolbimbo akadaro

      Ehe, iwe waizongofanira kunyora Process.spawn_command_line_async ("apt-tora kuisa ubuntu-desktop");

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

  4.   Sauro Uribe akadaro

    Kwakanaka, ndinoda chinyorwa, ini ndichave ndichidzidzira (uye ndinoona kuenda kumberi), kwaziso