U ovom malom vodiču vidjet ćemo kako napraviti prve korake s Valom i GTK3. Hajde da počnemo:
Instaliranje potrebnih alata
sudo apt-get install valac libgtk-3-dev
IDE:
Možemo pronaći veliku raznolikost uređivača koje možemo koristiti / konfigurirati kao IDE. Primjer za to su grebanje, SublimeText, Geany ... U mom slučaju koristit ću Scratch (koje možemo naći u osnovnom os).
Pogledajmo tipičan primjer Hello World !, koji bi bio sljedeći:
A kod bi izgledao ovako:
Sada da vidimo detalje koda. Imamo klasu koja je Gtk prozor.
# Gtk inicijaliziramo argumentima Gtk.init (ref args); # Mi kreiramo aplikaciju. Aplikacija aplikacija = nova aplikacija (); # Stavili smo aplikaciju u središte ekrana. app.window_position = Gtk.WindowPosition.CENTER; # Prilikom zatvaranja uništavamo aplikaciju. app.destroy.connect (Gtk.main_quit); # Mjerimo prozor app.set_default_size (100, 50); # Stvaramo dugme i povezujemo događaj klika na dugme i ispisujemo zdravo! var gumb = novo Gtk.Button.with_label ("Pozdravi"); button.clicked.connect (() => {print ("Zdravo! \ n");}); # Dodajte dugme u aplikaciju app.add (dugme); # Prikazujemo aplikaciju / prozor app.show_all ();
Klikom na dugme dobit ćemo kao izlaz:
Sastavljamo i izvršavamo:
$ valac -v lol.vala --pkg gtk + -3.0 $ ./lol
Sad vam ostavljam neke zanimljive linkove:
http://elementaryos.org/docs/code/the-basic-setup
Problem što nemate ideju koja crta prozore je taj što morate znati sve metode klase da biste stvorili prozor, zaista nešto primitivno.
Da ste dobro odradili posao u fazi dizajniranja, ne biste imali razloga koristiti IDE prilikom programiranja.
Niste me razumjeli, govorim o tome da imam ideju koja će to učiniti umjesto vas, prozori, a da u principu ne morate upisivati kod:
http://imagebin.org/275532
To vas štedi od saznanja koja je metoda dugmeta, itd. Itd
S IDE-om štedite samo vrijeme ... Ali ako govorimo o funkcionalnosti kada koristimo IDE ili TERMINAL pri kompajliranju, obojica ispunjavaju iste funkcije.
Stvar je ukusa i udobnosti.
Pa ti imaš Glade (https://glade.gnome.org/), je RAD alat koji vam omogućuje brzo dizajniranje prozora aplikacija jednostavnim klikom miša.
Jednom kada je sučelje kreirano, generira datoteku u xml formatu koju možete pozvati iz programskih jezika kao što su C, C ++, Python, Perl, Vala, Java, itd.
Nadam se da ovo odgovara na vaše pitanje.
Ako postoji ideja koja integrira kreatora prozora, Anjuta IDE.
Pozdrav Lolbimbo:
Prije nekog vremena odlučio sam koristiti Vala kao svoj glavni jezik prije D i Golanga iz x razloga, ali zaglavio sam u problemu, kodu koji sam jako dobro kompajlirao, ali sada dobivam sljedeću grešku:
/media/…/vala/nn.vala.c: U funkciji 'main':
/media/…/vala/nn.vala.c:155:2: upozorenje: 'g_type_init' je zastario (deklarirano na /usr/include/glib-2.0/gobject/gtype.h:669) [-Wdeprecated-izjave]
g_type_init();
ako je previše problema razumjet ću unaprijed hvala i čestitam na blogu.
Pozdrav prijatelju, počinjem s vala, ali dodajte mi kod koji imate na liniji 155, u svakom slučaju to je upozorenje, a ne greška, ako vam uspije, ništa se neće dogoditi jer je možda riječ o vala bugu.
Pozdrav Lolimbo, slavim vaše oduševljenje jer sam se osjećao usamljeno u vali, ustvari greška mi daje bilo koji kod tako jednostavan kao: using Gtk;
int main (string [] args) {
Gtk.init(ref args);
var window = novi prozor ();
window.title = "Prvi GTK + program";
window.border_width = 10;
window.window_position = WindowPosition.CENTER;
window.set_default_size(350, 70);
window.destroy.connect(Gtk.main_quit);
var button = new Button.with_label ("Klikni me!");
button.clicked.connect (() => {
button.label = "Hvala";
});
pokušajte {
// Ili direktno iz datoteke ...
window.icon = novi Gdk.Pixbuf.from_file ("my-app.png");
// ... ili iz teme
window.icon = IconTheme.get_default () .load_icon ("moja-aplikacija", 48, 0);
} catch (Greška e) {
stderr.printf ("Nije bilo moguće učitati ikonu aplikacije:% s \ n", npr. poruka);
}
window.add (dugme);
window.show_all();
Gtk.main();
povratak 0;
}
Ali između rada sa Windowsom i kod kuće ne dajem si vremena da lovim grešku, čini mi se da je to problem sa verzijama vala, ne znam.
Ažuriranjem vala trebalo bi ukloniti upozorenje.
Vodič je dobro objašnjen i sviđa mi se, samo što sam se oduvijek pitao, zašto uvijek započeti s programom "hello world", za početnike bi bilo u redu, ali što je s onima koji već imaju programskog iskustva? Zašto ne naznačiti kako napraviti interfejs sa nekoliko elemenata (dugmad, naljepnice itd.)?
Sviđa mi se Vala i želim je naučiti, ali bilo bi konstruktivnije započeti malo više "između", zar ne?
Uskoro su još jedna objava sa srednjim nivoom.
Java?
Lijep tutorial je dobro objašnjen i sve me zapravo natjeralo da razmislim o stavljanju vala i gtk na moju listu za učenje.
Izvrsno, sada predlažem udžbenik Seed (javascript) + Gtk, bilo bi prilično zanimljivo, jer je ovo službena opcija koju je Gnome projekt odabrao.