Første trinn [Vala + Gtk 3]: Hello World !!

Vi kommer til å se i denne lille opplæringen hvordan vi tar våre første skritt med Vala og GTK3. La oss komme i gang:

Installere nødvendige verktøy

sudo apt-get install valac libgtk-3-dev

IDE:

Vi kan finne et stort utvalg av redaktører som vi kan bruke / konfigurere som IDE. Eksempel på dem er Skrap, SublimeTekst, Geany ... I mitt tilfelle skal jeg bruke Scratch (som vi kan finne i elementær os).

Skrap

La oss se det typiske eksemplet på Hello World !, Som vil være som følger:

Fangst fra 2013-10-31 23:33:12

Og koden vil se slik ut:

Fangst fra 2013-10-31 23:34:48

La oss nå se detaljene i koden. Vi har en klasse som er et Gtk-vindu.

# Vi initialiserer Gtk med argumenter Gtk.init (ref args); # Vi oppretter applikasjonen. Applikasjonsapp = ny applikasjon (); # Vi setter applikasjonen midt på skjermen. app.window_position = Gtk.WindowPosition.CENTER; # Når vi lukker ødelegger vi appen. app.destroy.connect (Gtk.main_quit); # Vi måler vinduet app.set_default_size (100, 50); # Vi oppretter en knapp og kobler knappeklikkningshendelsen og skriver ut hei! var-knapp = ny Gtk.Button.with_label ("Si hei"); button.clicked.connect (() => {print ("Hei! \ n");}); # Legg til knappen i app-appen. Legg til (knapp); # Vi viser App / Window app.show_all ();

Ved å klikke på knappen får vi som utgang:

Fangst fra 2013-10-31 23:35:58

Vi kompilerer og utfører:

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

Nå lar jeg deg noen lenker av interesse:

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


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.

  1.   pandev92 sa

    Problemet med å ikke ha et ide som tegner vinduer er at du må kjenne til alle metodene i klassen for å lage et vindu, noe primitivt, egentlig.

    1.    nyansert sa

      Hvis du gjorde en god jobb i designfasen, ville du ikke ha noen grunn til å bruke IDE når du programmerer.

      1.    pandev92 sa

        Du forstod meg ikke, jeg snakker om å ha en idé som vil gjøre det for deg, windows, uten å måtte skrive kode i prinsippet:

        http://imagebin.org/275532

        Det sparer deg for å vite hva metoden for en knapp er osv. Osv

        1.    marianogaudix sa

          Med en IDE sparer du bare tid ... Men hvis vi snakker om funksjonalitet når du bruker en IDE eller en TERMINAL når du kompilerer, utfører de begge de samme funksjonene.
          Det er et spørsmål om smak og komfort.

        2.    Arthur sa

          Vel, du har Glade (https://glade.gnome.org/), er et RAD-verktøy som lar deg raskt designe applikasjonsvinduer med enkle museklikk.

          Når grensesnittet er opprettet, genererer det en fil i xml-format som du kan påkalle fra programmeringsspråk som C, C ++, Python, Perl, Vala, Java, etc.

          Jeg håper dette svarer på spørsmålet ditt.

        3.    lolbimbo sa

          Hvis det er en idé som integrerer en vindusskaper, Anjuta IDE.

  2.   Juan Pablo sa

    Hei Lolbimbo:
    For en tid siden bestemte jeg meg for å bruke Vala som hovedspråk før D og Golang av x grunner, men jeg sitter fast i et problem, koden jeg har samlet veldig bra, men nå får jeg følgende feil:

    /media/…/vala/nn.vala.c: I funksjonen 'main':
    /media/…/vala/nn.vala.c:155:2: advarsel: 'g_type_init' er utfaset (erklært på /usr/include/glib-2.0/gobject/gtype.h:669) [-Wdeprecated-declarations]
    g_type_init();

    hvis det er for mye trøbbel vil jeg forstå, takk på forhånd og gratulerer med bloggen.

    1.    lolbimbo sa

      Hei venn, jeg begynner med vala, men gi meg koden du har på linje 155, uansett er det en advarsel, ikke en feil, hvis det fungerer for deg, skjer det ingenting siden det kan være en valabug.

      1.    Juan Pablo sa

        Hei Lolimbo, jeg feirer din entusiasme siden jeg følte meg ensom i vala, faktisk blir feilen gitt til meg i hvilken som helst kode så enkel som: å bruke Gtk;

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

        var vindu = nytt vindu ();
        window.title = "Første GTK + -program";
        window.border_width = 10;
        window.window_position = WindowPosition.CENTER;
        window.set_default_size(350, 70);
        window.destroy.connect(Gtk.main_quit);

        var-knapp = ny Button.with_label ("Klikk meg!");
        button.clicked.connect (() => {
        button.label = "Takk";
        });
        prøv {
        // Enten direkte fra en fil ...
        window.icon = ny Gdk.Pixbuf.from_file ("min-app.png");
        // ... eller fra temaet
        window.icon = IconTheme.get_default () .load_icon ("min app", 48, 0);
        } fangst (feil e) {
        stderr.printf ("Kunne ikke laste applikasjonsikon:% s \ n", e.message);
        }
        window.add (knapp);
        window.show_all();

        Gtk.main();
        0 tilbake;
        }

        Men mellom å jobbe med Windows og hjemme har jeg ikke tid til å jakte på feilen, det virker for meg at det er et problem med versjoner av vala, jeg vet ikke.

        1.    lolbimbo sa

          Oppdatering av vala bør fjerne advarselen.

  3.   uribes sa

    Opplæringen er godt forklart, og jeg liker den, bare det at jeg alltid har lurt på, hvorfor alltid starte med "hallo verden" -programmet, for nybegynnere vil det være greit, men hva med de som allerede har erfaring med programmering? Hvorfor ikke indikere hvordan du lager et grensesnitt med flere elementer (knapper, etiketter osv.)?

    Jeg liker Vala, og jeg vil lære det, men det ville vært mer konstruktivt å starte litt mer "imellom", ikke sant?

    1.    lolbimbo sa

      Snart er det nok et innlegg med mellomnivå.

  4.   Juanra 20 sa

    Java?

    Fin opplæring godt forklart, og alt fikk meg til å vurdere å sette vala og gtk på listen min over ting å lære.

  5.   -ik- sa

    Utmerket, nå foreslår jeg en Seed (javascript) + Gtk tutorial, det ville være ganske interessant, da dette er det offisielle alternativet som Gnome-prosjektet har valgt.