Selles väikeses õpetuses näeme, kuidas teha esimesi samme Vala ja GTK3-ga. Alustame:
Vajalike tööriistade paigaldamine
sudo apt-get install valac libgtk-3-dev
IDE:
Leiame palju redaktoreid, mida saame IDE-na kasutada / konfigureerida. Näide neist on Kraapige, SublimeTekst, Geany ... minu puhul hakkan kasutama Scratchi (mille võime leida elementaarsest os-st).
Vaatame tüüpilist näidet Hello World !, mis oleks järgmine:
Ja kood näeks välja selline:
Nüüd vaatame koodi üksikasju. Meil on klass, mis on GTK aken.
# Initsialiseerime Gtk argumentidega Gtk.init (ref args); # Me loome rakenduse. Rakenduse rakendus = uus rakendus (); # Panime rakenduse ekraani keskele. app.window_position = Gtk.WindowPosition.CENTER; # Sulgemisel hävitame rakenduse. app.destroy.connect (Gtk.main_quit); # Mõõdame akna app.set_default_size (100, 50); # Me loome nupu ja ühendame nupu klõpsamise sündmuse ja printime tere! var nupp = uus Gtk.Button.with_label ("Tere tulemast"); button.clicked.connect (() => {print ("Tere! \ n");}); # Lisage nupp rakenduse rakendusse app.add (nupp); # Näitame rakendust / akent app.show_all ();
Nupule klõpsates saame väljundina:
Koostame ja täidame:
$ valac -v lol.vala --pkg gtk + -3.0 $ ./lol
Nüüd jätan teile mõned huvitavad lingid:
http://elementaryos.org/docs/code/the-basic-setup
Aknaid joonistava idee puudumine on see, et akna, millegi primitiivse, loomiseks peate teadma kõiki klassi meetodeid.
Kui teeksite projekteerimisetapis head tööd, poleks teil põhjust programmeerimisel IDE-d kasutada.
Te ei mõistnud mind, ma räägin ideest, mis teeb selle teie jaoks, aknad, ilma et peaksite põhimõtteliselt koodi sisestama:
http://imagebin.org/275532
See säästab teid teadmisest, mis on nupu meetod jne jne
IDE-ga säästate ainult aega ... ... Aga kui räägime IDE või TERMINALi koostamisel funktsionaalsusest, täidavad mõlemad samu funktsioone.
See on maitse ja mugavuse küsimus.
Sul on Glade (https://glade.gnome.org/) on RAD-i tööriist, mis võimaldab teil hõlpsalt hiireklõpsuga kujundada rakenduse aknaid.
Kui liides on loodud, genereerib see xml-vormingus faili, mille saate käivitada sellistest programmeerimiskeeltest nagu C, C ++, Python, Perl, Vala, Java jne.
Loodan, et see vastab teie küsimusele.
Kui on idee, mis integreerib akna looja, Anjuta IDE.
Tere, Lolbimbo:
Mõni aeg tagasi otsustasin x põhjusel kasutada vala oma peamiseks keeleks enne D ja Golangi, kuid olen kinni probleemis, mille kood on mul väga hästi kokku pandud, kuid nüüd kuvatakse järgmine tõrge:
/media/…/vala/nn.vala.c: funktsioonis 'main':
/media/…/vala/nn.vala.c:155:2: hoiatus: 'g_type_init' on aegunud (deklareeritud aadressil /usr/include/glib-2.0/gobject/gtype.h:669) [-Wdeprecated-deklaratsioonid]
g_tüüp_init ();
kui see on liiga palju vaeva, siis saan aru, tänan ette ja õnnitlen blogi.
Tere, sõber, alustan valaga, kuid andke mulle kood, mis teil on real 155, igatahes on see hoiatus, mitte viga, kui see teie jaoks töötab, midagi ei juhtu, kuna see võib olla vala viga.
Tere, Lolimbo, tähistan teie entusiasmi, kuna tundsin end valas üksikuna, tegelikult annab viga mulle suvalise koodi nii lihtsaks kui: Gtk kasutamine;
int main (string [] args) {
Gtk.init (viited);
var window = uus aken ();
window.title = "Esimene GTK + programm";
akna.piiri_laius = 10;
window.window_position = aknapositsioon.KESKUS;
window.set_default_size(350, 70);
window.destroy.connect(Gtk.main_quit);
var nupp = uus Button.with_label ("Klõpsake mind!");
button.clicked.connect (() => {
button.label = "Aitäh";
});
proovige {
// Kas otse failist ...
window.icon = uus Gdk.Pixbuf.from_file ("minu-app.png");
//… või teemast
window.icon = IconTheme.get_default () .load_icon ("minu rakendus", 48, 0);
} saak (viga e) {
stderr.printf ("Rakenduse ikooni ei õnnestunud laadida:% s \ n", e.message);
}
window.add (nupp);
window.show_all();
Gtk.main();
0 tagasi;
}
Kuid Windowsiga töötamise ja kodus töötamise vahel pole mul aega viga otsida, mulle tundub, et see on probleem vala versioonidega, ma ei tea.
Vala värskendamine peaks hoiatuse eemaldama.
Õpetus on hästi lahti seletatud ja mulle meeldib see, ainult et ma olen alati mõelnud, miks peaksin alati algama programmist "tere maailm", algajatele oleks see tore, aga mis saab neist, kellel on juba programmeerimiskogemus? Miks mitte näidata, kuidas luua liides mitme elemendiga (nupud, sildid jne)?
Mulle Vala meeldib ja ma tahan seda õppida, kuid konstruktiivsem oleks alustada natuke rohkem "vahepeal", eks?
Varsti on veel üks kesktasemega postitus.
Java?
Kena õpetus on hästi lahti seletatud ja kõik pani mind tegelikult kaaluma vala ja gtk lisamist minu loetellu, mida õppida.
Suurepärane, nüüd pakun välja Seed (javascript) + Gtk õpetuse, see oleks üsna huvitav, kuna see on Gnome'i projekti poolt valitud ametlik variant.