Uvidíme v tomto malém tutoriálu, jak udělat naše první kroky s Vala a GTK3. Začněme:
Instalace potřebných nástrojů
sudo apt-get install valac libgtk-3-dev
IDE:
Můžeme najít velké množství editorů, které můžeme použít / konfigurovat jako IDE. Příkladem jsou Scratch, SublimeText, Geany ... V mém případě použiji Scratch (které můžeme najít v elementárních os).
Podívejme se na typický příklad Hello World !, Který by byl následující:
A kód by vypadal takto:
Nyní se podívejme na podrobnosti kódu. Máme třídu, která je oknem Gtk.
# Inicializujeme Gtk s argumenty Gtk.init (ref args); # Vytváříme aplikaci. Aplikace aplikace = nová aplikace (); # Umístili jsme aplikaci do středu obrazovky. app.window_position = Gtk.WindowPosition.CENTER; # Při zavírání aplikaci zničíme. app.destroy.connect (Gtk.main_quit); # Změříme okno app.set_default_size (100, 50); # Vytvoříme tlačítko a připojíme událost kliknutí na tlačítko a vytiskneme ahoj! var button = new Gtk.Button.with_label ("Say Hello"); button.clicked.connect (() => {print ("Dobrý den! \ n");}); # Přidejte tlačítko do aplikace app.add (tlačítko); # Ukážeme aplikaci / okno app.show_all ();
Kliknutím na tlačítko se dostaneme jako výstup:
Sestavujeme a provádíme:
$ valac -v lol.vala --pkg gtk + -3.0 $ ./lol
Nyní vám nechám několik zajímavých odkazů:
http://elementaryos.org/docs/code/the-basic-setup
Problém, že nemáte ideu, která kreslí okna, spočívá v tom, že musíte znát všechny metody třídy k vytvoření okna, něco primitivního, opravdu.
Pokud jste ve fázi návrhu odvedli dobrou práci, neměli byste žádný důvod používat IDE při programování.
Nerozuměli jste mi, mluvím o tom, že máte nápad, který to udělá za vás, Windows, aniž byste museli v zásadě psát kód:
http://imagebin.org/275532
To vám ušetří vědět, jaká je metoda tlačítka atd
S IDE ušetříte jen čas …… Ale pokud mluvíme o funkčnosti při použití IDE nebo TERMINAL při kompilaci, oba plní stejné funkce.
Je to otázka vkusu a pohodlí.
No, máš Glade (https://glade.gnome.org/), je nástroj RAD, který vám umožňuje rychle navrhovat okna aplikací jednoduchým kliknutím myší.
Jakmile je rozhraní vytvořeno, vygeneruje soubor ve formátu xml, který můžete vyvolat z programovacích jazyků, jako jsou C, C ++, Python, Perl, Vala, Java atd.
Doufám, že to odpovídá na vaši otázku.
Pokud existuje nápad, který integruje tvůrce oken, Anjuta IDE.
Ahoj Lolbimbo:
Před nějakým časem jsem se rozhodl použít Vala jako svůj hlavní jazyk před D a Golang z x důvodů, ale jsem zaseknutý v problému, kódu, který jsem sestavil velmi dobře, ale teď dostávám následující chybu:
/media/…/vala/nn.vala.c: Ve funkci 'main':
/media/…/vala/nn.vala.c:155:2: varování: „g_type_init“ je zastaralé (deklarováno na /usr/include/glib-2.0/gobject/gtype.h:669) [-Wdeprecated-declarations]
g_type_init();
pokud je to příliš mnoho problémů, pochopím, předem děkuji a gratuluji k blogu.
Ahoj příteli, začínám s vala, ale předej mi kód, který máš na lince 155, každopádně je to varování, ne chyba, pokud to pro tebe funguje, nic se neděje, protože to může být chyba vala.
Dobrý den, Lolimbo, oslavuji vaše nadšení, protože jsem se ve Vale cítil osamělý, chyba mi ve skutečnosti dává jakýkoli kód tak jednoduchý jako: using Gtk;
int main (řetězec [] args) {
Gtk.init (odkazy);
var okno = nové okno ();
window.title = "První 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 = "Děkuji";
});
Snaž se {
// Buď přímo ze souboru ...
window.icon = nový Gdk.Pixbuf.from_file ("moje-app.png");
//… nebo z tématu
window.icon = IconTheme.get_default () .load_icon ("moje aplikace", 48, 0);
} chytit (chyba e) {
stderr.printf ("Nelze načíst ikonu aplikace:% s \ n", e.message);
}
window.add (tlačítko);
window.show_all();
Gtk.main();
0 návrat;
}
Ale mezi prací s Windows a doma nemám čas na hledání chyby, zdá se mi, že je to problém s verzemi vala, nevím.
Aktualizace vala by měla odstranit varování.
Výukový program je dobře vysvětlen a líbí se mi, jen mě vždycky zajímalo, proč vždy začít s programem „ahoj svět“, pro začátečníky by to bylo v pořádku, ale co z těch, kteří již mají zkušenosti s programováním? Proč neuvedete, jak vytvořit rozhraní s několika prvky (tlačítka, štítky atd.)?
Líbí se mi Vala a chci se ji naučit, ale bylo by konstruktivnější začít trochu více „mezi tím“, že?
Brzy bude další příspěvek se střední úrovní.
Jáva?
Pěkný návod dobře vysvětlený a všechno mě vlastně přimělo zvážit uvedení vala a gtk na můj seznam věcí, které se učit.
Skvělé, nyní navrhuji výukový program Seed (javascript) + Gtk, bylo by to docela zajímavé, protože toto je oficiální možnost, kterou projekt Gnome vybral.