Prvé kroky [Vala + Gtk 3]: Hello World !!

Uvidíme v tomto malom tutoriáli, ako urobiť naše prvé kroky s Vala a GTK3. Začnime:

Inštalácia potrebných nástrojov

sudo apt-get install valac libgtk-3-dev

IDE:

Nájdeme veľké množstvo editorov, ktoré môžeme použiť / nakonfigurovať ako IDE. Ich príkladom sú Poškriabaniu, Sublime Text, Gean ... V mojom prípade použijem Scratch (ktoré nájdeme v elementárnych os).

Poškriabaniu

Pozrime sa na typický príklad Hello World !, ktorý by vyzeral takto:

Zachytiť od 2013-10-31 23:33:12

A kód by vyzeral takto:

Zachytiť od 2013-10-31 23:34:48

Teraz sa pozrime na podrobnosti kódu. Máme triedu, ktorá je oknom Gtk.

# Gtk inicializujeme argumentmi Gtk.init (ref args); # Vytvárame aplikáciu. Aplikácia app = nová Aplikácia (); # Aplikáciu sme umiestnili do stredu obrazovky. app.window_position = Gtk.WindowPosition.CENTER; # Pri zatváraní aplikáciu zničíme. app.destroy.connect (Gtk.main_quit); # Zmeriame okno app.set_default_size (100, 50); # Vytvoríme tlačidlo a spojíme udalosť kliknutia na tlačidlo a vytlačíme ahoj! var button = new Gtk.Button.with_label ("Say Hello"); button.clicked.connect (() => {print ("Dobrý deň! \ n");}); # Pridajte tlačidlo do aplikácie app.add (tlačidlo); # Ukážeme aplikáciu / okno app.show_all ();

Kliknutím na tlačidlo sa dostaneme ako výstup:

Zachytiť od 2013-10-31 23:35:58

Zostavujeme a realizujeme:

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

Teraz vám nechám niekoľko zaujímavých odkazov:

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


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.

  1.   pandev92 dijo

    Problém, že nemáte ideu, ktorá kreslí okná, je ten, že musíte poznať všetky metódy triedy na vytvorenie okna, niečo primitívne, naozaj.

    1.    nuansy dijo

      Ak by ste vo fáze návrhu odviedli dobrú prácu, nemali by ste dôvod používať pri programovaní IDE.

      1.    pandev92 dijo

        Nerozumeli ste mi, hovorím o myšlienke, ktorá to urobí za vás, Windows, bez toho, aby ste v zásade museli písať kód:

        http://imagebin.org/275532

        To vám ušetrí vedieť, aký je spôsob tlačidla atď

        1.    mianogaudix dijo

          S IDE šetríte iba čas ... ... Ale ak hovoríme o funkčnosti pri použití IDE alebo TERMINÁLU pri kompilácii, obe spĺňajú rovnaké funkcie.
          Je to vec vkusu a pohodlia.

        2.    Artus dijo

          No, máš Glade (https://glade.gnome.org/), je nástroj RAD, ktorý vám umožní rýchlo navrhnúť okná aplikácií jednoduchým kliknutím myši.

          Po vytvorení rozhrania vygeneruje súbor vo formáte xml, ktorý môžete vyvolať z programovacích jazykov ako C, C ++, Python, Perl, Vala, Java atď.

          Dúfam, že to odpovie na vašu otázku.

        3.    lolbimbo dijo

          Ak existuje nápad, ktorý integruje tvorcu okien, Anjuta IDE.

  2.   Juan Pablo dijo

    Ahoj Lolbimbo:
    Pred nejakým časom som sa rozhodol použiť Vala ako svoj hlavný jazyk pred D a Golang z x dôvodov, ale uviazol som v probléme, kóde, ktorý som zostavil veľmi dobre, ale teraz sa mi zobrazuje nasledujúca chyba:

    /media/…/vala/nn.vala.c: Vo funkcii 'main':
    /media/…/vala/nn.vala.c:155:2: varovanie: 'g_type_init' je zastarané (deklarované na /usr/include/glib-2.0/gobject/gtype.h:669) [-Wdeprecated-declarations]
    g_type_init();

    ak to bude príliš veľa problémov pochopím, vopred ďakujem a gratulujem k blogu.

    1.    lolbimbo dijo

      Ahojte priateľ, začínam s vala, ale daj mi kód, ktorý máš na linke 155, každopádne je to varovanie, nie chyba, ak ti to funguje, nič sa nedeje, pretože to môže byť bug vala.

      1.    Juan Pablo dijo

        Ahoj Lolimbo, oslavujem tvoje nadšenie, pretože som sa vo Vale cítil osamelý. Chyba mi je uvedená v akomkoľvek jednoduchom kóde ako: using Gtk;

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

        var okno = nové okno ();
        window.title = "Prvý 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 = "Ďakujem";
        });
        skúste {
        // Buď priamo zo súboru ...
        window.icon = nový Gdk.Pixbuf.from_file ("moja-app.png");
        // ... alebo z témy
        window.icon = IconTheme.get_default () .load_icon ("moja aplikácia", 48, 0);
        } chyta (chyba e) {
        stderr.printf ("Nepodarilo sa načítať ikonu aplikácie:% s \ n", e.message);
        }
        window.add (tlačidlo);
        window.show_all();

        Gtk.main();
        0 návrat;
        }

        Ale medzi prácou s Windows a doma si nedávam čas na pátranie po chybe, zdá sa mi, že je to problém s verziami vala, neviem.

        1.    lolbimbo dijo

          Aktualizácia vala by mala odstrániť varovanie.

  3.   uribes dijo

    Tutoriál je dobre vysvetlený a páči sa mi, iba to, že ma vždy zaujímalo, prečo vždy začať s programom „ahoj svet“, pre začiatočníkov by to bolo v poriadku, ale čo z tých, ktorí už majú skúsenosti s programovaním? Prečo neurčiť, ako vytvoriť rozhranie s niekoľkými prvkami (tlačidlá, štítky atď.)?

    Mám rád Valu a chcem sa to naučiť, ale bolo by konštruktívnejšie začať trochu viac „medzi tým“, nie?

    1.    lolbimbo dijo

      Čoskoro bude ďalší príspevok so strednou úrovňou.

  4.   juanra20 dijo

    Java?

    Pekný tutoriál dobre vysvetlený a všetko ma vlastne prinútilo zvážiť uvedenie vala a gtk na môj zoznam úloh.

  5.   -ik- dijo

    Vynikajúce, teraz navrhujem výukový program Seed (javascript) + Gtk, bolo by to celkom zaujímavé, pretože toto je oficiálna možnosť, ktorú si vybral projekt Gnome.