Prvi koraci [Vala + Gtk 3]: Pozdrav svijetu !!

U ovom malom vodiču vidjet ćemo kako napraviti prve korake s Valom i GTK3. Započnimo:

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

Zagrebite

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

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

A kod bi izgledao ovako:

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

Pogledajmo sada detalje koda. Imamo klasu koja je Gtk prozor.

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

Klikom na gumb dobit ćemo kao izlaz:

Hvatanje 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 poveznice:

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


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  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 obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   pandev92 dijo

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

    1.    nijansiran dijo

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

      1.    pandev92 dijo

        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 sprečava da znate koja je metoda gumba, itd. Itd

        1.    marianogaudix dijo

          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 dijo

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

        3.    lolbimbo dijo

          Ako postoji ideja koja integrira kreatora prozora, Anjuta IDE.

  2.   Juan Pablo dijo

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

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

    1.    lolbimbo dijo

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

      1.    Juan Pablo dijo

        Pozdrav Lolimbo, slavim vaše oduševljenje jer sam se osjećao usamljeno u vali, zapravo pogreška mi daje bilo koji kôd tako jednostavan kao: using Gtk;

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

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

        Gtk.main();
        0 vratiti;
        }

        Ali između rada sa sustavom Windows i kod kuće, nemam vremena za lov na pogrešku, čini mi se da je to problem s verzijama vala, ne znam.

        1.    lolbimbo dijo

          Ažuriranjem vala trebalo bi ukloniti upozorenje.

  3.   uribes dijo

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

      Uskoro su još jedna objava s srednjom razinom.

  4.   Juanra 20 dijo

    Java?

    Lijep udžbenik dobro objašnjen i sve me zapravo natjeralo da razmislim o stavljanju vala i gtk na svoj popis stvari koje treba naučiti.

  5.   -ik- dijo

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