Eerste stappe [Vala + Gtk 3]: Hello World !!

Ons gaan in hierdie klein handleiding sien hoe ons ons eerste stap met Vala en GTK3 kan neem. Laat ons begin:

Die installering van die nodige gereedskap

sudo apt-get install valac libgtk-3-dev

Die IDE:

Ons kan 'n groot verskeidenheid redakteurs vind wat ons as IDE kan gebruik / instel. Voorbeeld daarvan is Krap, Sublieme teks, Geany ... In my geval gaan ek Scratch gebruik (wat ons in elementêre os kan vind)

Krap

Kom ons kyk na die tipiese voorbeeld van Hello World! Dit is soos volg:

Vaslegging van 2013-10-31 23:33:12

En die kode sal so lyk:

Vaslegging van 2013-10-31 23:34:48

Laat ons nou die besonderhede van die kode sien. Ons het 'n klas wat 'n Gtk-venster is.

# Ons initialiseer Gtk met argumente Gtk.init (ref argumenteer); # Ons skep die toepassing. Toepassing app = nuwe toepassing (); # Ons plaas die toepassing in die middel van die skerm. app.window_position = Gtk.WindowPosition.CENTRE; # Wanneer ons sluit, vernietig ons die app. app.destroy.connect (Gtk.main_quit); # Ons meet die venster app.set_default_size (100, 50); # Ons skep 'n knoppie en verbind die knoppieklikgebeurtenis en druk hallo uit! var-knoppie = nuwe Gtk.Button.with_label ("Sê hallo"); button.clicked.connect (() => {druk ("Hallo! \ n");}); # Voeg die knoppie by die app-app. Voeg (knoppie) by; # Ons wys die App / Window app.show_all ();

Deur op die knoppie te klik, kry ons as uitvoer:

Vaslegging van 2013-10-31 23:35:58

Ons stel en voer:

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

Nou laat ek u 'n paar interessante skakels na:

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


Die inhoud van die artikel voldoen aan ons beginsels van redaksionele etiek. Klik op om 'n fout te rapporteer hier.

14 kommentaar, los joune

Laat u kommentaar

Jou e-posadres sal nie gepubliseer word nie. Verpligte velde gemerk met *

*

*

  1. Verantwoordelik vir die data: Miguel Ángel Gatón
  2. Doel van die data: Beheer SPAM, bestuur van kommentaar.
  3. Wettiging: U toestemming
  4. Kommunikasie van die data: Die data sal nie aan derde partye oorgedra word nie, behalwe deur wettige verpligtinge.
  5. Datastoor: databasis aangebied deur Occentus Networks (EU)
  6. Regte: U kan u inligting te alle tye beperk, herstel en verwyder.

  1.   pandev92 dijo

    Die probleem om nie 'n idee te hê wat vensters teken nie, is dat u al die metodes van die klas moet ken om 'n venster, iets primitief, te skep.

    1.    genuanseer dijo

      As u 'n goeie werk in die ontwerpfase gedoen het, het u geen rede om 'n IDE te gebruik tydens die programmering nie.

      1.    pandev92 dijo

        U het my nie verstaan ​​nie, ek praat daaroor dat u 'n idee het om dit vir u te doen, vensters, sonder om kode in beginsel in te tik:

        http://imagebin.org/275532

        Dit bespaar u om te weet wat die metode van 'n knoppie is, ensovoorts

        1.    marianogaudix dijo

          Met 'n IDE bespaar u net tyd …… Maar as ons praat oor funksionaliteit by die gebruik van 'n IDE of 'n TERMINAL tydens die samestelling, vervul hulle albei dieselfde funksies.
          Dit is 'n kwessie van smaak en gemak.

        2.    artus dijo

          Wel, jy het Glade (https://glade.gnome.org/), is 'n RAD-instrument waarmee u toepassingsvensters vinnig kan ontwerp met eenvoudige muisklikke.

          Sodra die koppelvlak geskep is, genereer dit 'n lêer in xml-formaat wat u kan aanroep vanaf programmeertale soos C, C ++, Python, Perl, Vala, Java, ens.

          Ek hoop dit beantwoord u vraag.

        3.    lolbimbo dijo

          As daar 'n idee is wat 'n vensterskepper integreer, Anjuta IDE.

  2.   Juan Pablo dijo

    Hallo Lolbimbo:
    'N Ruk gelede het ek besluit om Vala as hooftaal voor D en Golang te gebruik om x redes, maar ek sit vas in 'n probleem, die kode wat ek goed saamgestel het, maar nou kry ek die volgende fout:

    /media/…/vala/nn.vala.c: In funksie 'hoof':
    /media/…/vala/nn.vala.c:155:2: waarskuwing: 'g_type_init' is verouderd (verklaar by /usr/include/glib-2.0/gobject/gtype.h:669) [-Wdeprecated-declarations]
    g_tipe_init ();

    as dit te veel moeite is, sal ek dit verstaan, by voorbaat dank en baie geluk met die blog.

    1.    lolbimbo dijo

      Hallo vriend, ek begin met vala, maar gee my die kode wat u op lyn 155 het, dit is in elk geval 'n waarskuwing, nie 'n fout nie, as dit vir u werk, gebeur daar niks nie, want dit kan 'n valabug wees.

      1.    Juan Pablo dijo

        Hallo Lolimbo, ek vier u entoesiasme aangesien ek eensaam gevoel het in vala, in werklikheid gee die fout my in enige kode so eenvoudig soos: die gebruik van Gtk;

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

        var venster = nuwe venster ();
        window.title = "Eerste GTK + -program";
        venster.grens_breedte = 10;
        window.window_position = WindowPosition.CENTRE;
        window.set_default_size(350, 70);
        venster.destroy.connect (Gtk.main_quit);

        var-knoppie = nuwe Button.with_label ("Klik my!");
        button.clicked.connect (() => {
        button.label = "Dankie";
        });
        probeer {
        // Of direk vanaf 'n lêer ...
        window.icon = nuwe Gdk.Pixbuf.from_file ("my-app.png");
        //… of uit die tema
        window.icon = IconTheme.get_default () .load_icon ("my-app", 48, 0);
        } vang (Fout e) {
        stderr.printf ("Kon nie toepassingsikoon laai nie:% s \ n", e-boodskap);
        }
        window.add (knoppie);
        window.show_all();

        Gtk.hoof ();
        0 teruggaan;
        }

        Maar tussen die werk met Windows en tuis gee ek myself nie tyd om die fout op te soek nie, dit lyk vir my dat dit 'n probleem is met weergawes van vala, ek weet nie.

        1.    lolbimbo dijo

          Die opdatering van die vala moet die waarskuwing verwyder.

  3.   uribes dijo

    Die tutoriaal word goed uiteengesit en ek hou daarvan, net dat ek nog altyd gewonder het. Waarom altyd met die "hallo wêreld" -program begin? Vir beginners sal dit goed wees, maar wat van diegene wat reeds programmeringservaring het? Waarom kan u nie aandui hoe u 'n koppelvlak met verskillende elemente (knoppies, etikette, ens.) Kan maak nie?

    Ek hou van Vala en ek wil dit leer, maar dit sal konstruktiewer wees om 'n bietjie meer 'tussenin' te begin, of hoe?

    1.    lolbimbo dijo

      Binnekort is daar weer 'n pos met 'n intermediêre vlak.

  4.   juanra 20 dijo

    Java?

    Mooi tutoriaal goed verduidelik en alles het my eintlik laat oorweeg om vala en gtk op my lys te sit om te leer.

  5.   -ik- dijo

    Uitstekend, nou stel ek 'n Seed (javascript) + Gtk handleiding voor, dit sal baie interessant wees, want dit is die amptelike opsie wat die Gnome-projek gekies het.