Prvi koraci [Vala + Gtk 3]: Hello World !!

U ovom malom vodiču vidjet ćemo kako napraviti prve korake s Valom i GTK3. Hajde da počnemo:

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 grebanje, SublimeText, Geany ... U mom slučaju koristit ću Scratch (koje možemo naći u osnovnom os).

grebanje

Pogledajmo tipičan primjer Hello World !, koji bi bio sljedeći:

Snimka iz 2013-10-31 23:33:12

A kod bi izgledao ovako:

Snimka iz 2013-10-31 23:34:48

Sada da vidimo detalje koda. Imamo klasu koja je Gtk prozor.

# Gtk inicijaliziramo argumentima Gtk.init (ref args); # Mi kreiramo aplikaciju. Aplikacija aplikacija = nova aplikacija (); # Stavili smo aplikaciju u središte ekrana. 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 dugme i povezujemo događaj klika na dugme i ispisujemo zdravo! var gumb = novo Gtk.Button.with_label ("Pozdravi"); button.clicked.connect (() => {print ("Zdravo! \ n");}); # Dodajte dugme u aplikaciju app.add (dugme); # Prikazujemo aplikaciju / prozor app.show_all ();

Klikom na dugme dobit ćemo kao izlaz:

Snimka iz 2013-10-31 23:35:58

Sastavljamo i izvršavamo:

$ valac -v lol.vala --pkg gtk + -3.0 $ ./lol

Sad vam ostavljam neke zanimljive linkove:

http://elementaryos.org/docs/code/the-basic-setup


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   Pandev92 rekao je

    Problem što nemate ideju koja crta prozore je taj što morate znati sve metode klase da biste stvorili prozor, zaista nešto primitivno.

    1.    nijansiran rekao je

      Da ste dobro odradili posao u fazi dizajniranja, ne biste imali razloga koristiti IDE prilikom programiranja.

      1.    Pandev92 rekao je

        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 štedi od saznanja koja je metoda dugmeta, itd. Itd

        1.    marianogaudix rekao je

          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.

        2.    artus rekao je

          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 je sučelje kreirano, 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 ovo odgovara na vaše pitanje.

        3.    lolbimbo rekao je

          Ako postoji ideja koja integrira kreatora prozora, Anjuta IDE.

  2.   Juan Pablo rekao je

    Pozdrav Lolbimbo:
    Prije nekog vremena odlučio sam koristiti Vala kao svoj glavni jezik prije D i Golanga iz x razloga, ali zaglavio sam u problemu, kodu koji sam jako dobro kompajlirao, ali sada dobivam sljedeću grešku:

    /media/…/vala/nn.vala.c: U funkciji 'main':
    /media/…/vala/nn.vala.c:155:2: upozorenje: 'g_type_init' je zastario (deklarirano 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 čestitam na blogu.

    1.    lolbimbo rekao je

      Pozdrav prijatelju, počinjem s vala, ali dodajte mi kod koji imate na liniji 155, u svakom slučaju to je upozorenje, a ne greška, ako vam uspije, ništa se neće dogoditi jer je možda riječ o vala bugu.

      1.    Juan Pablo rekao je

        Pozdrav Lolimbo, slavim vaše oduševljenje jer sam se osjećao usamljeno u vali, ustvari greška mi daje bilo koji kod tako jednostavan kao: using Gtk;

        int main (string [] args) {
        Gtk.init(ref args);

        var window = 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 direktno 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 (Greška e) {
        stderr.printf ("Nije bilo moguće učitati ikonu aplikacije:% s \ n", npr. poruka);
        }
        window.add (dugme);
        window.show_all();

        Gtk.main();
        povratak 0;
        }

        Ali između rada sa Windowsom i kod kuće ne dajem si vremena da lovim grešku, čini mi se da je to problem sa verzijama vala, ne znam.

        1.    lolbimbo rekao je

          Ažuriranjem vala trebalo bi ukloniti upozorenje.

  3.   uribes rekao je

    Vodič je dobro objašnjen i sviđa mi se, samo što sam se oduvijek pitao, zašto uvijek započeti s programom "hello world", za početnike bi bilo u redu, ali što je s onima koji već imaju programskog iskustva? Zašto ne naznačiti kako napraviti interfejs sa nekoliko elemenata (dugmad, 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?

    1.    lolbimbo rekao je

      Uskoro su još jedna objava sa srednjim nivoom.

  4.   juanra20 rekao je

    Java?

    Lijep tutorial je dobro objašnjen i sve me zapravo natjeralo da razmislim o stavljanju vala i gtk na moju listu za učenje.

  5.   -ik- rekao je

    Izvrsno, sada predlažem udžbenik Seed (javascript) + Gtk, bilo bi prilično zanimljivo, jer je ovo službena opcija koju je Gnome projekt odabrao.