Ons gaan in hierdie klein handleiding sien hoe ons ons eerste stap met Vala en GTK3 kan neem. Laat ons begin:
Die installering van die nodige gereedskap
sudo apt-get install valac libgtk-3-dev
Die IDE:
Ons kan 'n groot verskeidenheid redakteurs vind wat ons as IDE kan gebruik / instel. Voorbeeld daarvan is Krap, Sublieme teks, Geany ... In my geval gaan ek Scratch gebruik (wat ons in elementêre os kan vind)
Kom ons kyk na die tipiese voorbeeld van Hello World! Dit is soos volg:
En die kode sal so lyk:
Laat ons nou die besonderhede van die kode sien. Ons het 'n klas wat 'n Gtk-venster is.
# Ons initialiseer Gtk met argumente Gtk.init (ref argumenteer); # Ons skep die toepassing. Toepassing app = nuwe toepassing (); # Ons plaas die toepassing in die middel van die skerm. app.window_position = Gtk.WindowPosition.CENTRE; # Wanneer ons sluit, vernietig ons die app. app.destroy.connect (Gtk.main_quit); # Ons meet die venster app.set_default_size (100, 50); # Ons skep 'n knoppie en verbind die knoppieklikgebeurtenis en druk hallo uit! var-knoppie = nuwe Gtk.Button.with_label ("Sê hallo"); button.clicked.connect (() => {druk ("Hallo! \ n");}); # Voeg die knoppie by die app-app. Voeg (knoppie) by; # Ons wys die App / Window app.show_all ();
Deur op die knoppie te klik, kry ons as uitvoer:
Ons stel en voer:
$ valac -v lol.vala --pkg gtk + -3.0 $ ./lol
Nou laat ek u 'n paar interessante skakels na:
http://elementaryos.org/docs/code/the-basic-setup
14 kommentaar, los joune
Die probleem om nie 'n idee te hê wat vensters teken nie, is dat u al die metodes van die klas moet ken om 'n venster, iets primitief, te skep.
As u 'n goeie werk in die ontwerpfase gedoen het, het u geen rede om 'n IDE te gebruik tydens die programmering nie.
U het my nie verstaan nie, ek praat daaroor dat u 'n idee het om dit vir u te doen, vensters, sonder om kode in beginsel in te tik:
http://imagebin.org/275532
Dit bespaar u om te weet wat die metode van 'n knoppie is, ensovoorts
Met 'n IDE bespaar u net tyd …… Maar as ons praat oor funksionaliteit by die gebruik van 'n IDE of 'n TERMINAL tydens die samestelling, vervul hulle albei dieselfde funksies.
Dit is 'n kwessie van smaak en gemak.
Wel, jy het Glade (https://glade.gnome.org/), is 'n RAD-instrument waarmee u toepassingsvensters vinnig kan ontwerp met eenvoudige muisklikke.
Sodra die koppelvlak geskep is, genereer dit 'n lêer in xml-formaat wat u kan aanroep vanaf programmeertale soos C, C ++, Python, Perl, Vala, Java, ens.
Ek hoop dit beantwoord u vraag.
As daar 'n idee is wat 'n vensterskepper integreer, Anjuta IDE.
Hallo Lolbimbo:
'N Ruk gelede het ek besluit om Vala as hooftaal voor D en Golang te gebruik om x redes, maar ek sit vas in 'n probleem, die kode wat ek goed saamgestel het, maar nou kry ek die volgende fout:
/media/…/vala/nn.vala.c: In funksie 'hoof':
/media/…/vala/nn.vala.c:155:2: waarskuwing: 'g_type_init' is verouderd (verklaar by /usr/include/glib-2.0/gobject/gtype.h:669) [-Wdeprecated-declarations]
g_tipe_init ();
as dit te veel moeite is, sal ek dit verstaan, by voorbaat dank en baie geluk met die blog.
Hallo vriend, ek begin met vala, maar gee my die kode wat u op lyn 155 het, dit is in elk geval 'n waarskuwing, nie 'n fout nie, as dit vir u werk, gebeur daar niks nie, want dit kan 'n valabug wees.
Hallo Lolimbo, ek vier u entoesiasme aangesien ek eensaam gevoel het in vala, in werklikheid gee die fout my in enige kode so eenvoudig soos: die gebruik van Gtk;
int main (string [] args) {
Gtk.init (ref argumenteer);
var venster = nuwe venster ();
window.title = "Eerste GTK + -program";
venster.grens_breedte = 10;
window.window_position = WindowPosition.CENTRE;
window.set_default_size(350, 70);
venster.destroy.connect (Gtk.main_quit);
var-knoppie = nuwe Button.with_label ("Klik my!");
button.clicked.connect (() => {
button.label = "Dankie";
});
probeer {
// Of direk vanaf 'n lêer ...
window.icon = nuwe Gdk.Pixbuf.from_file ("my-app.png");
//… of uit die tema
window.icon = IconTheme.get_default () .load_icon ("my-app", 48, 0);
} vang (Fout e) {
stderr.printf ("Kon nie toepassingsikoon laai nie:% s \ n", e-boodskap);
}
window.add (knoppie);
window.show_all();
Gtk.hoof ();
0 teruggaan;
}
Maar tussen die werk met Windows en tuis gee ek myself nie tyd om die fout op te soek nie, dit lyk vir my dat dit 'n probleem is met weergawes van vala, ek weet nie.
Die opdatering van die vala moet die waarskuwing verwyder.
Die tutoriaal word goed uiteengesit en ek hou daarvan, net dat ek nog altyd gewonder het. Waarom altyd met die "hallo wêreld" -program begin? Vir beginners sal dit goed wees, maar wat van diegene wat reeds programmeringservaring het? Waarom kan u nie aandui hoe u 'n koppelvlak met verskillende elemente (knoppies, etikette, ens.) Kan maak nie?
Ek hou van Vala en ek wil dit leer, maar dit sal konstruktiewer wees om 'n bietjie meer 'tussenin' te begin, of hoe?
Binnekort is daar weer 'n pos met 'n intermediêre vlak.
Java?
Mooi tutoriaal goed verduidelik en alles het my eintlik laat oorweeg om vala en gtk op my lys te sit om te leer.
Uitstekend, nou stel ek 'n Seed (javascript) + Gtk handleiding voor, dit sal baie interessant wees, want dit is die amptelike opsie wat die Gnome-projek gekies het.