Ebben a kis bemutatóban megnézzük, hogyan tegyük meg első lépéseinket a Valával és a GTK3-mal. Kezdjük el:
A szükséges eszközök telepítése
sudo apt-get install valac libgtk-3-dev
Az IDE:
Sokféle szerkesztőt találhatunk, amelyeket IDE-ként használhatunk / konfigurálhatunk. Példa ezekre karcolás, SublimeText, Geany ... az én esetemben a Scratch-et fogom használni (amelyet az elemi os-ban találhatunk meg).
Lássuk a Hello World! Tipikus példáját, amely a következő lenne:
És a kód így néz ki:
Most nézzük meg a kód részleteit. Van egy osztályunk, amely egy Gtk ablak.
# A Gtk-t a Gtk.init (ref args) argumentumokkal inicializáljuk; # Mi hozzuk létre az alkalmazást. Alkalmazás alkalmazás = új alkalmazás (); # Az alkalmazást a képernyő közepére helyezzük. app.window_position = Gtk.WindowPosition.CENTER; # Záráskor megsemmisítjük az alkalmazást. app.destroy.connect (Gtk.main_quit); # Megmérjük az app.set_default_size (100, 50) ablakot; # Készítünk egy gombot, összekapcsoljuk a gombra kattintás eseményt, és üdvözlünk! var gomb = új Gtk.Button.with_label ("Köszönj"); button.clicked.connect (() => {print ("Hello! \ n");}); # Adja hozzá a gombot az alkalmazás app.add (gomb); # Megmutatjuk az App / Window alkalmazást.show_all ();
A gombra kattintva kapunk kimenetet:
Összeállítjuk és végrehajtjuk:
$ valac -v lol.vala --pkg gtk + -3.0 $ ./lol
Most hagyok néhány érdekes linket:
http://elementaryos.org/docs/code/the-basic-setup
Az a probléma, hogy nincs olyan ideája, amely felhívja az ablakokat, az, hogy ismernie kell az osztály összes módszerét az ablak, valami primitív, létrehozásához.
Ha jó munkát végzett a tervezési szakaszban, akkor nincs oka az IDE használatára a programozás során.
Nem értett meg, arról beszélek, hogy van egy ötletem, amely megteszi helyetted, windows, anélkül, hogy elvileg kódot kellene begépelned:
http://imagebin.org/275532
Ez megment attól, hogy tudd, mi a gomb módja stb
IDE-vel csak időt takarít meg ... ... De ha az IDE vagy a TERMINAL használatakor a funkcionalitásról beszélünk fordításkor, mindkettő ugyanazokat a funkciókat látja el.
Ízlés és kényelem kérdése.
Nos, van Glade (https://glade.gnome.org/), egy RAD eszköz, amely lehetővé teszi az alkalmazásablakok gyors megtervezését egyszerű egérkattintással.
A felület létrehozása után létrehoz egy fájlt xml formátumban, amelyet meghívhat olyan programozási nyelvekből, mint a C, C ++, Python, Perl, Vala, Java stb.
Remélem, hogy ez megválaszolja a kérdését.
Ha van olyan ötlet, amely integrálja az ablakkészítőt, az Anjuta IDE-t.
Hello Lolbimbo:
Valamivel ezelőtt úgy döntöttem, hogy X okból a Valát használom a fő nyelvként a D és a Golang előtt, de elakadtam egy problémában, a kódban, amelyet nagyon jól összeállítottam, de most a következő hibát kapom:
/media/…/vala/nn.vala.c: A 'main' funkcióban:
/media/…/vala/nn.vala.c:155:2: figyelmeztetés: A „g_type_init” elavult (a /usr/include/glib-2.0/gobject/gtype.h:669 címen deklarálva) [-Wdeprecated-deklarations]
g_típus_init ();
ha túl nagy baj, megértem, előre is köszönöm és gratulálok a bloghoz.
Helló barátom, a vala-val kezdem, de adja át a kódot, amely a 155-ös vonalon van, különben is figyelmeztetés, nem hiba, ha Önnek működik, semmi sem történik, mivel lehet, hogy vala-hiba.
Helló, Lolimbo, megünnepelem a lelkesedését, mivel magányosnak éreztem magam a valában, valójában a hibát bármilyen olyan egyszerű kódban adják meg nekem, mint: a Gtk használata;
int main (string [] args) {
Gtk.init (ref. Arg.);
var ablak = new Window ();
window.title = "Első GTK + program";
window.border_width = 10;
window.window_position = Ablakpozíció.CENTER;
window.set_default_size(350, 70);
window.destroy.connect(Gtk.main_quit);
var gomb = új Button.with_label ("Kattintson rám!");
button.clicked.connect (() => {
button.label = "Köszönöm";
});
próbáld ki {
// Vagy közvetlenül fájlból ...
window.icon = new Gdk.Pixbuf.from_file ("my-app.png");
//… vagy a témából
window.icon = IconTheme.get_default () .load_icon ("my-app", 48, 0);
} catch (e hiba) {
stderr.printf ("Nem sikerült betölteni az alkalmazás ikonját:% s \ n", e.message);
}
window.add (gomb);
window.show_all();
Gtk.main();
0 vissza;
}
De a Windows és az otthoni munkavégzés között nincs időm leküzdeni a hibát, nekem úgy tűnik, hogy a vala verzióival van probléma, nem tudom.
A vala frissítésével el kell távolítani a figyelmeztetést.
Az oktatóanyag jól meg van magyarázva, és tetszik, csak az, hogy mindig is azon gondolkodtam, miért indulok mindig a "hello world" programmal, kezdőknek jó lenne, de mi van azokkal, akik már rendelkeznek programozási tapasztalatokkal? Miért ne jelezné, hogyan készítsen interfészt több elemmel (gombokkal, címkékkel stb.)?
Szeretem Valát, és szeretném megtanulni, de konstruktívabb lenne egy kicsit többet kezdeni "köztük", igaz?
Hamarosan újabb poszt érkezik középszinttel.
Jáva?
Szép oktatóanyag, jól megmagyarázva, és minden valójában arra késztetett, hogy fontolóra vegyem a vala és a gtk felvételét a tanulandó listámra.
Kiváló, most javaslom egy Seed (javascript) + Gtk oktatóanyagot, nagyon érdekes lenne, mivel ez a Gnome projekt által kiválasztott hivatalos lehetőség.