Primii pași [Vala + Gtk 3]: Hello World !!

Vom vedea în acest mic tutorial cum să facem primii pași cu Vala și GTK3. Să începem:

Instalarea instrumentelor necesare

sudo apt-get install valac libgtk-3-dev

IDE:

Putem găsi o mare varietate de editori pe care îi putem folosi / configura ca IDE. Exemplu dintre ele sunt Scratch, SublimeText, Geany ... În cazul meu, voi folosi Scratch (pe care le putem găsi în os elementar).

Scratch

Să vedem exemplul tipic de Hello World!, Care ar fi după cum urmează:

Captură din 2013-10-31 23:33:12

Și codul ar arăta astfel:

Captură din 2013-10-31 23:34:48

Acum să vedem detaliile codului. Avem o clasă care este o fereastră Gtk.

# Inițializăm Gtk cu argumente Gtk.init (ref args); # Creăm aplicația. Aplicație aplicație = Aplicație nouă (); # Am pus aplicația în centrul ecranului. app.window_position = Gtk.WindowPosition.CENTER; # La închidere distrugem aplicația. app.destroy.connect (Gtk.main_quit); # Măsurăm fereastra app.set_default_size (100, 50); # Creăm un buton și conectăm evenimentul cu clic pe buton și imprimăm un salut! buton var = Gtk.Button.with_label nou („Spune Bună ziua”); button.clicked.connect (() => {print ("Bună ziua! \ n");}); # Adăugați butonul în aplicația app.add (buton); # Afișăm aplicația / fereastra app.show_all ();

Făcând clic pe buton vom obține ca rezultat:

Captură din 2013-10-31 23:35:58

Compilăm și executăm:

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

Acum vă las câteva link-uri de interes:

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


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   pandev92 el a spus

    Problema cu faptul că nu ai un ide care desenează ferestre este că trebuie să cunoști toate metodele clasei pentru a crea o fereastră, ceva primitiv, într-adevăr.

    1.    nuantat el a spus

      Dacă ați făcut o treabă bună în etapa de proiectare, nu ați avea niciun motiv să utilizați un IDE atunci când programați.

      1.    pandev92 el a spus

        Nu m-ați înțeles, vorbesc despre o idee care o va face pentru dvs., Windows, fără a fi nevoie să tastați codul în principiu:

        http://imagebin.org/275532

        Acest lucru vă scutește de a ști care este metoda unui buton, etc etc

        1.    marianogaudix el a spus

          Cu un IDE economisiți doar timp ... Dar dacă vorbim despre funcționalitate atunci când utilizați un IDE sau un TERMINAL la compilare, ambele îndeplinesc aceleași funcții.
          Este o chestiune de gust și confort.

        2.    artus el a spus

          Ei bine, ai Glade (https://glade.gnome.org/), este un instrument RAD care vă permite să proiectați rapid ferestrele aplicației cu simple clicuri de mouse.

          Odată creată interfața, acesta generează un fișier în format XML pe care îl puteți invoca din limbaje de programare precum C, C ++, Python, Perl, Vala, Java etc.

          Sper că acest lucru vă va răspunde la întrebare.

        3.    lolbimbo el a spus

          Dacă există o idee care integrează un creator de ferestre, Anjuta IDE.

  2.   Juan Pablo el a spus

    Bună ziua Lolbimbo:
    Cu ceva timp în urmă am decis să folosesc Vala ca limbă principală înaintea lui D și Golang din motive x, dar sunt blocat într-o problemă, codul pe care l-am compilat foarte bine, dar acum primesc următoarea eroare:

    /media/…/vala/nn.vala.c: În funcția „principal”:
    /media/…/vala/nn.vala.c:155:2: avertisment: „g_type_init” este depreciat (declarat la /usr/include/glib-2.0/gobject/gtype.h:669) [-Wdeprecated-declarations]
    g_type_init();

    dacă sunt prea multe probleme o să înțeleg, mulțumesc anticipat și felicitări pe blog.

    1.    lolbimbo el a spus

      Bună, prietene, încep cu vala, dar dă-mi codul pe care îl ai pe linia 155, oricum este un avertisment, nu o eroare, dacă funcționează pentru tine, nu se întâmplă nimic, deoarece poate fi un bug vala.

      1.    Juan Pablo el a spus

        Bună ziua Lolimbo, îți sărbătoresc entuziasmul deoarece m-am simțit singur în vala, de fapt eroarea îmi dă în orice cod la fel de simplu ca: folosind Gtk;

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

        fereastră var = fereastră nouă ();
        window.title = "Primul program GTK +";
        window.bider_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 ("Faceți clic pe mine!");
        button.clicked.connect (() => {
        button.label = "Mulțumesc";
        });
        încerca {
        // Fie direct dintr-un fișier ...
        window.icon = new Gdk.Pixbuf.from_file ("my-app.png");
        // ... sau din temă
        window.icon = IconTheme.get_default () .load_icon ("aplicația mea", 48, 0);
        } catch (Eroare e) {
        stderr.printf ("Nu s-a putut încărca pictograma aplicației:% s \ n", e.message);
        }
        window.add (buton);
        window.show_all();

        Gtk.main();
        0 reveni;
        }

        Dar între lucrul cu Windows și acasă nu-mi dau timp să vânez eroarea, mi se pare că este o problemă cu versiunile de vala, nu știu.

        1.    lolbimbo el a spus

          Actualizarea vala ar trebui să elimine avertismentul.

  3.   uribes el a spus

    Tutorialul este bine explicat și îmi place, doar că m-am întrebat întotdeauna, de ce să încep mereu cu programul „hello world”, pentru începători ar fi bine, dar ce se întâmplă cu cei care au deja experiență în programare? De ce nu indicați cum să creați o interfață cu mai multe elemente (butoane, etichete etc.)?

    Îmi place Vala și vreau să o învăț, dar ar fi mai constructiv să începi puțin mai „între”, nu?

    1.    lolbimbo el a spus

      În curând sunt încă un post cu un nivel intermediar.

  4.   juanra20 el a spus

    Java?

    Drăguț tutorial bine explicat și totul m-a făcut de fapt să iau în considerare introducerea vala și gtk pe lista mea de învățat.

  5.   -ik- el a spus

    Excelent, acum sugerez un tutorial Seed (javascript) + Gtk, ar fi destul de interesant, deoarece aceasta este opțiunea oficială pe care a selectat-o ​​proiectul Gnome.