Uvidíme v tomto malom tutoriáli, ako urobiť naše prvé kroky s Vala a GTK3. Začnime:
Inštalácia potrebných nástrojov
sudo apt-get install valac libgtk-3-dev
IDE:
Nájdeme veľké množstvo editorov, ktoré môžeme použiť / nakonfigurovať ako IDE. Ich príkladom sú Poškriabaniu, Sublime Text, Gean ... V mojom prípade použijem Scratch (ktoré nájdeme v elementárnych os).
Pozrime sa na typický príklad Hello World !, ktorý by vyzeral takto:
A kód by vyzeral takto:
Teraz sa pozrime na podrobnosti kódu. Máme triedu, ktorá je oknom Gtk.
# Gtk inicializujeme argumentmi Gtk.init (ref args); # Vytvárame aplikáciu. Aplikácia app = nová Aplikácia (); # Aplikáciu sme umiestnili do stredu obrazovky. app.window_position = Gtk.WindowPosition.CENTER; # Pri zatváraní aplikáciu zničíme. app.destroy.connect (Gtk.main_quit); # Zmeriame okno app.set_default_size (100, 50); # Vytvoríme tlačidlo a spojíme udalosť kliknutia na tlačidlo a vytlačíme ahoj! var button = new Gtk.Button.with_label ("Say Hello"); button.clicked.connect (() => {print ("Dobrý deň! \ n");}); # Pridajte tlačidlo do aplikácie app.add (tlačidlo); # Ukážeme aplikáciu / okno app.show_all ();
Kliknutím na tlačidlo sa dostaneme ako výstup:
Zostavujeme a realizujeme:
$ valac -v lol.vala --pkg gtk + -3.0 $ ./lol
Teraz vám nechám niekoľko zaujímavých odkazov:
http://elementaryos.org/docs/code/the-basic-setup
Problém, že nemáte ideu, ktorá kreslí okná, je ten, že musíte poznať všetky metódy triedy na vytvorenie okna, niečo primitívne, naozaj.
Ak by ste vo fáze návrhu odviedli dobrú prácu, nemali by ste dôvod používať pri programovaní IDE.
Nerozumeli ste mi, hovorím o myšlienke, ktorá to urobí za vás, Windows, bez toho, aby ste v zásade museli písať kód:
http://imagebin.org/275532
To vám ušetrí vedieť, aký je spôsob tlačidla atď
S IDE šetríte iba čas ... ... Ale ak hovoríme o funkčnosti pri použití IDE alebo TERMINÁLU pri kompilácii, obe spĺňajú rovnaké funkcie.
Je to vec vkusu a pohodlia.
No, máš Glade (https://glade.gnome.org/), je nástroj RAD, ktorý vám umožní rýchlo navrhnúť okná aplikácií jednoduchým kliknutím myši.
Po vytvorení rozhrania vygeneruje súbor vo formáte xml, ktorý môžete vyvolať z programovacích jazykov ako C, C ++, Python, Perl, Vala, Java atď.
Dúfam, že to odpovie na vašu otázku.
Ak existuje nápad, ktorý integruje tvorcu okien, Anjuta IDE.
Ahoj Lolbimbo:
Pred nejakým časom som sa rozhodol použiť Vala ako svoj hlavný jazyk pred D a Golang z x dôvodov, ale uviazol som v probléme, kóde, ktorý som zostavil veľmi dobre, ale teraz sa mi zobrazuje nasledujúca chyba:
/media/…/vala/nn.vala.c: Vo funkcii 'main':
/media/…/vala/nn.vala.c:155:2: varovanie: 'g_type_init' je zastarané (deklarované na /usr/include/glib-2.0/gobject/gtype.h:669) [-Wdeprecated-declarations]
g_type_init();
ak to bude príliš veľa problémov pochopím, vopred ďakujem a gratulujem k blogu.
Ahojte priateľ, začínam s vala, ale daj mi kód, ktorý máš na linke 155, každopádne je to varovanie, nie chyba, ak ti to funguje, nič sa nedeje, pretože to môže byť bug vala.
Ahoj Lolimbo, oslavujem tvoje nadšenie, pretože som sa vo Vale cítil osamelý. Chyba mi je uvedená v akomkoľvek jednoduchom kóde ako: using Gtk;
int main (string [] args) {
Gtk.init (odkazy);
var okno = nové okno ();
window.title = "Prvý program GTK +";
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 ("Click me!");
button.clicked.connect (() => {
button.label = "Ďakujem";
});
skúste {
// Buď priamo zo súboru ...
window.icon = nový Gdk.Pixbuf.from_file ("moja-app.png");
// ... alebo z témy
window.icon = IconTheme.get_default () .load_icon ("moja aplikácia", 48, 0);
} chyta (chyba e) {
stderr.printf ("Nepodarilo sa načítať ikonu aplikácie:% s \ n", e.message);
}
window.add (tlačidlo);
window.show_all();
Gtk.main();
0 návrat;
}
Ale medzi prácou s Windows a doma si nedávam čas na pátranie po chybe, zdá sa mi, že je to problém s verziami vala, neviem.
Aktualizácia vala by mala odstrániť varovanie.
Tutoriál je dobre vysvetlený a páči sa mi, iba to, že ma vždy zaujímalo, prečo vždy začať s programom „ahoj svet“, pre začiatočníkov by to bolo v poriadku, ale čo z tých, ktorí už majú skúsenosti s programovaním? Prečo neurčiť, ako vytvoriť rozhranie s niekoľkými prvkami (tlačidlá, štítky atď.)?
Mám rád Valu a chcem sa to naučiť, ale bolo by konštruktívnejšie začať trochu viac „medzi tým“, nie?
Čoskoro bude ďalší príspevok so strednou úrovňou.
Java?
Pekný tutoriál dobre vysvetlený a všetko ma vlastne prinútilo zvážiť uvedenie vala a gtk na môj zoznam úloh.
Vynikajúce, teraz navrhujem výukový program Seed (javascript) + Gtk, bolo by to celkom zaujímavé, pretože toto je oficiálna možnosť, ktorú si vybral projekt Gnome.