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:
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;}
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 ...)
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
"Layout" ko rubutun ya canza (misali)?
Parlan Catalan
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
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
Madalla, Ina son gidan, zanyi aiki (kuma ina gani na ci gaba), gaisuwa