W tym małym samouczku zobaczymy, jak stawiać pierwsze kroki z Vala i GTK3. Zacznijmy:
Instalowanie niezbędnych narzędzi
sudo apt-get install valac libgtk-3-dev
IDE:
Możemy znaleźć wiele różnych edytorów, których możemy używać / konfigurować jako IDE. Przykładem jest Scratch, Wysublimowany tekst, Geany … W moim przypadku użyję Scratch (które możemy znaleźć w elementarnym os).
Zobaczmy typowy przykład Hello World !, który wyglądałby następująco:
A kod wyglądałby tak:
Zobaczmy teraz szczegóły kodu. Mamy klasę, która jest oknem Gtk.
# Inicjalizujemy Gtk z argumentami Gtk.init (ref args); # Tworzymy aplikację. Aplikacja aplikacji = nowa Aplikacja (); # Umieściliśmy aplikację na środku ekranu. app.window_position = Gtk.WindowPosition.CENTER; # Podczas zamykania niszczymy aplikację. app.destroy.connect (Gtk.main_quit); # Mierzymy okno app.set_default_size (100, 50); # Tworzymy przycisk i łączymy zdarzenie kliknięcia przycisku i drukujemy cześć! var button = new Gtk.Button.with_label ("Przywitaj się"); button.clicked.connect (() => {print ("Witaj! \ n");}); # Dodaj przycisk do aplikacji app.add (przycisk); # Pokazujemy App / Window app.show_all ();
Klikając na przycisk otrzymamy jako wynik:
Kompilujemy i wykonujemy:
$ valac -v lol.vala --pkg gtk + -3.0 $ ./lol
Teraz zostawiam kilka interesujących linków:
http://elementaryos.org/docs/code/the-basic-setup
Problem z brakiem ide, który rysuje okna polega na tym, że musisz znać wszystkie metody klasy, aby utworzyć okno, naprawdę coś prymitywnego.
Jeśli wykonałeś dobrą robotę na etapie projektowania, nie miałbyś powodu, aby używać IDE podczas programowania.
Nie zrozumieliście mnie, mówię o posiadaniu pomysłu, który zrobi to za Was okna, bez konieczności wpisywania kodu w zasadzie:
http://imagebin.org/275532
Dzięki temu nie musisz wiedzieć, jaka jest metoda przycisku itp
Dzięki IDE oszczędzasz tylko czas …… Ale jeśli mówimy o funkcjonalności podczas używania IDE lub TERMINALA podczas kompilacji, oba spełniają te same funkcje.
To kwestia gustu i wygody.
Cóż, masz Glade (https://glade.gnome.org/), to narzędzie RAD, które umożliwia szybkie projektowanie okien aplikacji za pomocą prostych kliknięć myszą.
Po utworzeniu interfejsu generuje plik w formacie xml, który można wywołać z języków programowania, takich jak C, C ++, Python, Perl, Vala, Java itp.
Mam nadzieję, że to odpowiada na twoje pytanie.
Jeśli istnieje pomysł, który integruje kreatora okien, Anjuta IDE.
Witam Lolbimbo:
Jakiś czas temu zdecydowałem się użyć Vala jako mojego głównego języka przed D i Golang z x powodów, ale utknąłem w problemie, kod, który skompilowałem bardzo dobrze, ale teraz pojawia się następujący błąd:
/media/…/vala/nn.vala.c: W funkcji „main”:
/media/…/vala/nn.vala.c:155:2: warning: 'g_type_init' jest przestarzałe (zadeklarowane w /usr/include/glib-2.0/gobject/gtype.h:669) [-Wdeprecated-declarations]
g_type_init();
jeśli to za dużo kłopotów to zrozumiem, z góry dziękuję i gratuluję na blogu.
Witaj przyjacielu, zaczynam od vala, ale podaj mi kod, który masz w linii 155, zresztą jest to ostrzeżenie, a nie błąd, jeśli to działa, nic się nie dzieje, ponieważ może to być błąd vala.
Witaj Lolimbo, świętuję twój entuzjazm, ponieważ czułem się samotny w vala, właściwie błąd jest podawany mi w każdym kodzie tak prostym jak: używanie Gtk;
int main (string [] args) {
Gtk.init (argumenty odniesienia);
var window = nowe okno ();
window.title = "Pierwszy program GTK +";
szerokość_okna.obramowania = 10;
window.window_position = WindowPosition.CENTER;
window.set_default_size(350, 70);
window.destroy.connect(Gtk.main_quit);
var button = new Button.with_label ("Kliknij mnie!");
button.clicked.connect (() => {
button.label = "Dziękuję";
});
spróbuj {
// Albo bezpośrednio z pliku ...
window.icon = nowy Gdk.Pixbuf.from_file ("my-app.png");
//… lub z motywu
window.icon = IconTheme.get_default () .load_icon ("moja-aplikacja", 48, 0);
} catch (błąd e) {
stderr.printf ("Nie można załadować ikony aplikacji:% s \ n", e.message);
}
window.add (przycisk);
okno.pokaż_wszystko ();
Gtk.main();
0 wrócić;
}
Ale między pracą z Windowsem a pracą w domu nie mam czasu na wytropienie błędu, wydaje mi się, że jest to problem z wersjami vala, nie wiem.
Aktualizacja vala powinna usunąć ostrzeżenie.
Samouczek jest dobrze wyjaśniony i mi się podoba, tyle że zawsze się zastanawiałem, dlaczego zawsze zaczynać od programu „hello world”, dla początkujących byłoby dobrze, ale co z tymi, którzy mają już doświadczenie w programowaniu? Dlaczego nie wskazać, jak stworzyć interfejs z kilkoma elementami (przyciski, etykiety itp.)?
Lubię Vala i chcę się jej nauczyć, ale bardziej konstruktywne byłoby rozpoczęcie czegoś więcej „pomiędzy”, prawda?
Wkrótce kolejny post na poziomie średniozaawansowanym.
Jawa?
Fajny tutorial, dobrze wyjaśniony i wszystko sprawiło, że rozważyłem umieszczenie vala i gtk na mojej liście rzeczy do nauczenia.
Świetnie, proponuję teraz tutorial Seed (javascript) + Gtk, byłby całkiem interesujący, ponieważ jest to oficjalna opcja wybrana przez projekt Gnome.