Kirkirar Vala + Gtk3 app. [Kashi na 1]

Bayan da farko post Na karanta wani tsokaci cewa zai fi kyau in fara da wani abu mai rikitarwa fiye da "hello world", to zan yi jerin abubuwa (3 na 4) post don ƙirƙirar aikace-aikace mai sauƙi (tare da vala + gtk 3).

Aikace-aikacen zai kunshi zabi mai yawa na zabi da amsar tambaya (Nau'in Trivia), wanda amsar tambayoyin 3 ba daidai ba ya kare (wasa sama da kasa), kuma makasudin shine amsar tambayoyi da yawa kamar yadda zai yiwu, ga kowace tambaya da kuke da iyakance lokacin amsawa

Zane

Babban zane na aikace-aikacenmu zai kasance:

app

Daga baya zamu sanya wasu maballin da zasu bamu damar 50% (kawar da amsoshi guda biyu marasa kyau), daskare lokaci, wuce tambaya. Duk ana iya amfani da su sau ɗaya kawai, ana tawaya lokacin da ake amfani da su.

Zayyana a Code
Kamar yadda zamu iya gani a cikin zane zamu iya ganin abubuwan gtk wadanda zamuyi amfani dasu:

Amsoshi -> Button.

Tambaya -> Alamar alama.

Lokaci -> Ci gabaBar.

Abubuwa mara daidai / daidai da Tambayoyi -> Lakabi.

Zamu iya ganin cewa muna da tsari na tsaye saboda haka zamu iya amfani da GBox a tsaye.

Code

int main (kirtani [] args) {Gtk.init (ref args); var taga = sabon Gtk.Window (); window.title = "aikace-aikace"; window.window_position = Gtk.WindowPosition.CENTER; taga.set_default_size (300, 340); window.destroy.connect (Gtk.main_quit); taga.set_border_width (10); // akwatin tsaye var akwatin = sabon Gtk.Box (Gtk.Orientation.VERTICAL, 0); akwatin.set_spacing (10); // Lakabi don tambaya var tambaya = sabon Gtk.Label ("Tambaya?"); // lokacin shirin bar var time_bar = sabon Gtk.ProgressBar (); timebar.set_text ("Lokaci"); time_bar.set_show_text (gaskiya ne); // Maballin amsawa var response1 = sabon Gtk.Button.with_label ("Amsa 1"); var resposta2 = sabon Gtk.Button.with_label ("Amsa 2"); var resposta3 = sabon Gtk.Button.with_label ("Amsa 3"); var resposta4 = sabon Gtk.Button.with_label ("Amsa 4"); // alamun bayanai var maki = sabon Gtk.Label ("Points: 0"); akwatin.pack_start (tambaya); akwatin.pack_start (lokaci_bar); akwatin.pack_start (amsa1); akwatin.pack_start (resposta2); akwatin.pack_start (resposta3); akwatin.pack_start (resposta4); akwatin.pack_start (maki); taga.add (akwati); taga.kashe duka (); Gtk.main (); dawowa 0;}

Kama daga 2013-11-02 21:44:14

Don motsa "lokaci" muna amfani da GLib.Timeout inda kowane milliseconds 500 za a kunna shi (madauki ne inda canjin da ke dauke da darajar sandar mu zai karu)

GLib.Timeout.add (500, () => {// Samu ci gaban na yanzu: // (0.0 -> 0%; 1.0 -> 100%) ci gaba biyu = time_bar.get_fraction (); // Sabunta sandar: ci gaba = ci gaba + 0.01; time_bar.set_fraction (ci gaba); // Maimaita har sai 100% dawo da ci gaba <1.0;});

Hanyoyin amfani 
http://www.valadoc.org/#!wiki=index (zaka iya samun duk abubuwan gtk tare da hanyoyin su ...)


Bar tsokaci

Your email address ba za a buga. Bukata filayen suna alama da *

*

*

  1. Wanda ke da alhakin bayanan: Miguel Ángel Gatón
  2. Manufar bayanan: Sarrafa SPAM, sarrafa sharhi.
  3. Halacci: Yarda da yarda
  4. Sadarwar bayanan: Ba za a sanar da wasu bayanan ga wasu kamfanoni ba sai ta hanyar wajibcin doka.
  5. Ajiye bayanai: Bayanin yanar gizo wanda Occentus Networks (EU) suka dauki nauyi
  6. Hakkoki: A kowane lokaci zaka iyakance, dawo da share bayanan ka.

  1.   lozanotux m

    Yayi kyau sosai, zan tambaye ku yadda zan iya yin nau'in TABS amma a tsaye, duk da cewa ba lallai bane su zama shafuka, suna iya zama maballan ko ToggleButtons, amma ina buƙatar halin tab, cewa yayin taɓa 1 ana ganin abun ciki da Tabayan shafin kuma naƙasasshe ne, ban sani ba idan na bayyana kaina, na bar hoto don ganin ko za ku iya ba ni wasu bayanai don bincika. Na gode!

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

    1.    lolbimbo m

      "Layout" ko rubutun ya canza (misali)?

  2.   kunun 92 m

    Parlan Catalan

  3.   mamaki m

    Wannan yana da kyau kwarai da gaske hakika abu ne mai kama da abin da nake nema, tambaya, shin wannan tambayar tana da alaƙa da tashar ta kowace hanya?
    Misali: Da farko zan dauki lokaci don amsa Na bar shi mara iyaka kuma hakan zai zama abin da zan so in yi.

    Wani yanayin yanayin tebur kake so ka girka?
    KDE
    Gnome 3
    kirfa
    Unity

    Kuma kowane ɗayan waɗannan an haɗa shi da umarnin shigarwar sa a cikin tashar, sudo apt-samun shigar ubuntu-desktop

    1.    lolbimbo m

      Ee, kawai za ku rubuta Process.spawn_command_line_async ("apt-samun shigar ubuntu-desktop");

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

  4.   Saul Uribe m

    Madalla, Ina son gidan, zanyi aiki (kuma ina gani na ci gaba), gaisuwa