Első lépések [Vala + Gtk 3]: Hello World !!

Ebben a kis bemutatóban megnézzük, hogyan tegyük meg első lépéseinket a Valával és a GTK3-mal. Kezdjük el:

A szükséges eszközök telepítése

sudo apt-get install valac libgtk-3-dev

Az IDE:

Sokféle szerkesztőt találhatunk, amelyeket IDE-ként használhatunk / konfigurálhatunk. Példa ezekre karcolás, SublimeText, Geany ... az én esetemben a Scratch-et fogom használni (amelyet az elemi os-ban találhatunk meg).

karcolás

Lássuk a Hello World! Tipikus példáját, amely a következő lenne:

Rögzítés 2013-10-31 23:33:12

És a kód így néz ki:

Rögzítés 2013-10-31 23:34:48

Most nézzük meg a kód részleteit. Van egy osztályunk, amely egy Gtk ablak.

# A Gtk-t a Gtk.init (ref args) argumentumokkal inicializáljuk; # Mi hozzuk létre az alkalmazást. Alkalmazás alkalmazás = új alkalmazás (); # Az alkalmazást a képernyő közepére helyezzük. app.window_position = Gtk.WindowPosition.CENTER; # Záráskor megsemmisítjük az alkalmazást. app.destroy.connect (Gtk.main_quit); # Megmérjük az app.set_default_size (100, 50) ablakot; # Készítünk egy gombot, összekapcsoljuk a gombra kattintás eseményt, és üdvözlünk! var gomb = új Gtk.Button.with_label ("Köszönj"); button.clicked.connect (() => {print ("Hello! \ n");}); # Adja hozzá a gombot az alkalmazás app.add (gomb); # Megmutatjuk az App / Window alkalmazást.show_all ();

A gombra kattintva kapunk kimenetet:

Rögzítés 2013-10-31 23:35:58

Összeállítjuk és végrehajtjuk:

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

Most hagyok néhány érdekes linket:

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


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.

  1.   92 dijo

    Az a probléma, hogy nincs olyan ideája, amely felhívja az ablakokat, az, hogy ismernie kell az osztály összes módszerét az ablak, valami primitív, létrehozásához.

    1.    árnyalt dijo

      Ha jó munkát végzett a tervezési szakaszban, akkor nincs oka az IDE használatára a programozás során.

      1.    92 dijo

        Nem értett meg, arról beszélek, hogy van egy ötletem, amely megteszi helyetted, windows, anélkül, hogy elvileg kódot kellene begépelned:

        http://imagebin.org/275532

        Ez megment attól, hogy tudd, mi a gomb módja stb

        1.    marianogaudix dijo

          IDE-vel csak időt takarít meg ... ... De ha az IDE vagy a TERMINAL használatakor a funkcionalitásról beszélünk fordításkor, mindkettő ugyanazokat a funkciókat látja el.
          Ízlés és kényelem kérdése.

        2.    artus dijo

          Nos, van Glade (https://glade.gnome.org/), egy RAD eszköz, amely lehetővé teszi az alkalmazásablakok gyors megtervezését egyszerű egérkattintással.

          A felület létrehozása után létrehoz egy fájlt xml formátumban, amelyet meghívhat olyan programozási nyelvekből, mint a C, C ++, Python, Perl, Vala, Java stb.

          Remélem, hogy ez megválaszolja a kérdését.

        3.    lolbimbo dijo

          Ha van olyan ötlet, amely integrálja az ablakkészítőt, az Anjuta IDE-t.

  2.   Juan Pablo dijo

    Hello Lolbimbo:
    Valamivel ezelőtt úgy döntöttem, hogy X okból a Valát használom a fő nyelvként a D és a Golang előtt, de elakadtam egy problémában, a kódban, amelyet nagyon jól összeállítottam, de most a következő hibát kapom:

    /media/…/vala/nn.vala.c: A 'main' funkcióban:
    /media/…/vala/nn.vala.c:155:2: figyelmeztetés: A „g_type_init” elavult (a /usr/include/glib-2.0/gobject/gtype.h:669 címen deklarálva) [-Wdeprecated-deklarations]
    g_típus_init ();

    ha túl nagy baj, megértem, előre is köszönöm és gratulálok a bloghoz.

    1.    lolbimbo dijo

      Helló barátom, a vala-val kezdem, de adja át a kódot, amely a 155-ös vonalon van, különben is figyelmeztetés, nem hiba, ha Önnek működik, semmi sem történik, mivel lehet, hogy vala-hiba.

      1.    Juan Pablo dijo

        Helló, Lolimbo, megünnepelem a lelkesedését, mivel magányosnak éreztem magam a valában, valójában a hibát bármilyen olyan egyszerű kódban adják meg nekem, mint: a Gtk használata;

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

        var ablak = new Window ();
        window.title = "Első GTK + program";
        window.border_width = 10;
        window.window_position = Ablakpozíció.CENTER;
        window.set_default_size(350, 70);
        window.destroy.connect(Gtk.main_quit);

        var gomb = új Button.with_label ("Kattintson rám!");
        button.clicked.connect (() => {
        button.label = "Köszönöm";
        });
        próbáld ki {
        // Vagy közvetlenül fájlból ...
        window.icon = new Gdk.Pixbuf.from_file ("my-app.png");
        //… vagy a témából
        window.icon = IconTheme.get_default () .load_icon ("my-app", 48, 0);
        } catch (e hiba) {
        stderr.printf ("Nem sikerült betölteni az alkalmazás ikonját:% s \ n", e.message);
        }
        window.add (gomb);
        window.show_all();

        Gtk.main();
        0 vissza;
        }

        De a Windows és az otthoni munkavégzés között nincs időm leküzdeni a hibát, nekem úgy tűnik, hogy a vala verzióival van probléma, nem tudom.

        1.    lolbimbo dijo

          A vala frissítésével el kell távolítani a figyelmeztetést.

  3.   uribék dijo

    Az oktatóanyag jól meg van magyarázva, és tetszik, csak az, hogy mindig is azon gondolkodtam, miért indulok mindig a "hello world" programmal, kezdőknek jó lenne, de mi van azokkal, akik már rendelkeznek programozási tapasztalatokkal? Miért ne jelezné, hogyan készítsen interfészt több elemmel (gombokkal, címkékkel stb.)?

    Szeretem Valát, és szeretném megtanulni, de konstruktívabb lenne egy kicsit többet kezdeni "köztük", igaz?

    1.    lolbimbo dijo

      Hamarosan újabb poszt érkezik középszinttel.

  4.   Juanra 20 dijo

    Jáva?

    Szép oktatóanyag, jól megmagyarázva, és minden valójában arra késztetett, hogy fontolóra vegyem a vala és a gtk felvételét a tanulandó listámra.

  5.   -ik- dijo

    Kiváló, most javaslom egy Seed (javascript) + Gtk oktatóanyagot, nagyon érdekes lenne, mivel ez a Gnome projekt által kiválasztott hivatalos lehetőség.