První kroky [Vala + Gtk 3]: Hello World !!

Uvidíme v tomto malém tutoriálu, jak udělat naše první kroky s Vala a GTK3. Začněme:

Instalace potřebných nástrojů

sudo apt-get install valac libgtk-3-dev

IDE:

Můžeme najít velké množství editorů, které můžeme použít / konfigurovat jako IDE. Příkladem jsou Scratch, SublimeText, Geany ... V mém případě použiji Scratch (které můžeme najít v elementárních os).

Scratch

Podívejme se na typický příklad Hello World !, Který by byl následující:

Zachytit od 2013-10-31 23:33:12

A kód by vypadal takto:

Zachytit od 2013-10-31 23:34:48

Nyní se podívejme na podrobnosti kódu. Máme třídu, která je oknem Gtk.

# Inicializujeme Gtk s argumenty Gtk.init (ref args); # Vytváříme aplikaci. Aplikace aplikace = nová aplikace (); # Umístili jsme aplikaci do středu obrazovky. app.window_position = Gtk.WindowPosition.CENTER; # Při zavírání aplikaci zničíme. app.destroy.connect (Gtk.main_quit); # Změříme okno app.set_default_size (100, 50); # Vytvoříme tlačítko a připojíme událost kliknutí na tlačítko a vytiskneme ahoj! var button = new Gtk.Button.with_label ("Say Hello"); button.clicked.connect (() => {print ("Dobrý den! \ n");}); # Přidejte tlačítko do aplikace app.add (tlačítko); # Ukážeme aplikaci / okno app.show_all ();

Kliknutím na tlačítko se dostaneme jako výstup:

Zachytit od 2013-10-31 23:35:58

Sestavujeme a provádíme:

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

Nyní vám nechám několik zajímavých odkazů:

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


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.

  1.   pandev92 řekl

    Problém, že nemáte ideu, která kreslí okna, spočívá v tom, že musíte znát všechny metody třídy k vytvoření okna, něco primitivního, opravdu.

    1.    odstín řekl

      Pokud jste ve fázi návrhu odvedli dobrou práci, neměli byste žádný důvod používat IDE při programování.

      1.    pandev92 řekl

        Nerozuměli jste mi, mluvím o tom, že máte nápad, který to udělá za vás, Windows, aniž byste museli v zásadě psát kód:

        http://imagebin.org/275532

        To vám ušetří vědět, jaká je metoda tlačítka atd

        1.    marianogaudix řekl

          S IDE ušetříte jen čas …… Ale pokud mluvíme o funkčnosti při použití IDE nebo TERMINAL při kompilaci, oba plní stejné funkce.
          Je to otázka vkusu a pohodlí.

        2.    artus řekl

          No, máš Glade (https://glade.gnome.org/), je nástroj RAD, který vám umožňuje rychle navrhovat okna aplikací jednoduchým kliknutím myší.

          Jakmile je rozhraní vytvořeno, vygeneruje soubor ve formátu xml, který můžete vyvolat z programovacích jazyků, jako jsou C, C ++, Python, Perl, Vala, Java atd.

          Doufám, že to odpovídá na vaši otázku.

        3.    lolbimbo řekl

          Pokud existuje nápad, který integruje tvůrce oken, Anjuta IDE.

  2.   Juan Pablo řekl

    Ahoj Lolbimbo:
    Před nějakým časem jsem se rozhodl použít Vala jako svůj hlavní jazyk před D a Golang z x důvodů, ale jsem zaseknutý v problému, kódu, který jsem sestavil velmi dobře, ale teď dostávám následující chybu:

    /media/…/vala/nn.vala.c: Ve funkci 'main':
    /media/…/vala/nn.vala.c:155:2: varování: „g_type_init“ je zastaralé (deklarováno na /usr/include/glib-2.0/gobject/gtype.h:669) [-Wdeprecated-declarations]
    g_type_init();

    pokud je to příliš mnoho problémů, pochopím, předem děkuji a gratuluji k blogu.

    1.    lolbimbo řekl

      Ahoj příteli, začínám s vala, ale předej mi kód, který máš na lince 155, každopádně je to varování, ne chyba, pokud to pro tebe funguje, nic se neděje, protože to může být chyba vala.

      1.    Juan Pablo řekl

        Dobrý den, Lolimbo, oslavuji vaše nadšení, protože jsem se ve Vale cítil osamělý, chyba mi ve skutečnosti dává jakýkoli kód tak jednoduchý jako: using Gtk;

        int main (řetězec [] args) {
        Gtk.init (odkazy);

        var okno = nové okno ();
        window.title = "První 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 = "Děkuji";
        });
        Snaž se {
        // Buď přímo ze souboru ...
        window.icon = nový Gdk.Pixbuf.from_file ("moje-app.png");
        //… nebo z tématu
        window.icon = IconTheme.get_default () .load_icon ("moje aplikace", 48, 0);
        } chytit (chyba e) {
        stderr.printf ("Nelze načíst ikonu aplikace:% s \ n", e.message);
        }
        window.add (tlačítko);
        window.show_all();

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

        Ale mezi prací s Windows a doma nemám čas na hledání chyby, zdá se mi, že je to problém s verzemi vala, nevím.

        1.    lolbimbo řekl

          Aktualizace vala by měla odstranit varování.

  3.   uribes řekl

    Výukový program je dobře vysvětlen a líbí se mi, jen mě vždycky zajímalo, proč vždy začít s programem „ahoj svět“, pro začátečníky by to bylo v pořádku, ale co z těch, kteří již mají zkušenosti s programováním? Proč neuvedete, jak vytvořit rozhraní s několika prvky (tlačítka, štítky atd.)?

    Líbí se mi Vala a chci se ji naučit, ale bylo by konstruktivnější začít trochu více „mezi tím“, že?

    1.    lolbimbo řekl

      Brzy bude další příspěvek se střední úrovní.

  4.   20. Juanra řekl

    Jáva?

    Pěkný návod dobře vysvětlený a všechno mě vlastně přimělo zvážit uvedení vala a gtk na můj seznam věcí, které se učit.

  5.   -ik- řekl

    Skvělé, nyní navrhuji výukový program Seed (javascript) + Gtk, bylo by to docela zajímavé, protože toto je oficiální možnost, kterou projekt Gnome vybral.