U ovom malom vodiču vidjet ćemo kako napraviti prve korake s Valom i GTK3. Započnimo:
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 Zagrebite, Uzvišeni tekst, Geany ... U mom slučaju koristit ću Scratch (koje možemo naći u osnovnom os).
Pogledajmo tipični primjer Hello World !, koji bi bio sljedeći:
A kod bi izgledao ovako:
Pogledajmo sada detalje koda. Imamo klasu koja je Gtk prozor.
# Inicijaliziramo Gtk argumentima Gtk.init (ref args); # Izrađujemo aplikaciju. Aplikacija aplikacija = nova aplikacija (); # Stavili smo aplikaciju u središte zaslona. 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 gumb i povezujemo događaj klika na gumb te ispisujemo zdravo! gumb var = novi Gtk.Button.with_label ("Pozdravi"); button.clicked.connect (() => {print ("Pozdrav! \ n");}); # Dodajte gumb u aplikaciju app.add (gumb); # Prikazujemo aplikaciju / prozor app.show_all ();
Klikom na gumb dobit ćemo kao izlaz:
Sastavljamo i izvršavamo:
$ valac -v lol.vala --pkg gtk + -3.0 $ ./lol
Sad vam ostavljam neke zanimljive poveznice:
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, stvarno nešto primitivno.
Da ste dobro odradili posao u fazi projektiranja, 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 sprečava da znate koja je metoda gumba, 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 se sučelje kreira, 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 je ovo odgovor 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 zapeo sam u problemu, kodu koji sam jako dobro kompajlirao, ali sada dobivam sljedeću pogrešku:
/media/…/vala/nn.vala.c: U funkciji 'main':
/media/…/vala/nn.vala.c:155:2: upozorenje: 'g_type_init' je zastario (objavljeno 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 čestitke 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 pogreška, ako vam uspije, ništa se ne događa jer je možda riječ o vala bugu.
Pozdrav Lolimbo, slavim vaše oduševljenje jer sam se osjećao usamljeno u vali, zapravo pogreška mi daje bilo koji kôd tako jednostavan kao: using Gtk;
int main (string [] args) {
Gtk.init(ref args);
var prozor = 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 izravno 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 (Pogreška e) {
stderr.printf ("Nije moguće učitati ikonu aplikacije:% s \ n", npr. poruka);
}
window.add (gumb);
window.show_all();
Gtk.main();
0 vratiti;
}
Ali između rada sa sustavom Windows i kod kuće, nemam vremena za lov na pogrešku, čini mi se da je to problem s 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 uvijek pitao, zašto uvijek započeti s programom "hello world", za početnike bi to bilo u redu, ali što je s onima koji već imaju programskog iskustva? Zašto ne naznačiti kako napraviti sučelje s nekoliko elemenata (gumbi, 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 s srednjom razinom.
Java?
Lijep udžbenik dobro objašnjen i sve me zapravo natjeralo da razmislim o stavljanju vala i gtk na svoj popis stvari koje treba naučiti.
Izvrsno, sada predlažem udžbenik Seed (javascript) + Gtk, bilo bi prilično zanimljivo, jer je ovo službena opcija koju je projekt Gnome odabrao.