Hapat e parë [Vala + Gtk 3]: Përshëndetje Botë !!

Ne do të shohim në këtë tutorial të vogël se si të ndërmarrim hapat e parë me Vala dhe GTK3. Le të fillojmë:

Instalimi i mjeteve të nevojshme

sudo apt-get install valac libgtk-3-dev

IDE-ja:

Ne mund të gjejmë një larmi të madhe redaktorësh të cilët mund t'i përdorim / konfigurojmë si IDE. Shembull i tyre janë Zeroja, Tekst i Larte, I paturpshëm Case Në rastin tim unë do të përdor Scratch (të cilën mund ta gjejmë në os elementare).

Zeroja

Le të shohim shembullin tipik të Përshëndetjes Botërore !, Cili do të ishte si më poshtë:

Kap nga 2013-10-31 23:33:12

Dhe kodi do të dukej kështu:

Kap nga 2013-10-31 23:34:48

Tani le të shohim detajet e kodit. Ne kemi një klasë e cila është një dritare Gtk.

# Ne iniciojmë Gtk me argumente Gtk.init (ref argjendesh); # Ne krijojmë aplikacionin. Aplikacioni i aplikacionit = Aplikimi i ri (); # Ne e vendosim aplikacionin në qendër të ekranit. app.window_позиimi = Gtk.WindowPosition.CENTER; # Kur mbyllim ne shkatërrojmë aplikacionin. app.destroy.connect (Gtk.main_quit); # Ne masim dritaren app.set_default_size (100, 50); # Ne krijojmë një buton dhe lidhim ngjarjen e klikimit të butonit dhe shtypim një përshëndetje! butoni var = Gtk.Button i ri me etiketë ("Thuaj Përshëndetje"); button.clicked.connect (() => {print ("Përshëndetje! \ n");}); # Shto butonin në aplikacionin app.add (butoni); # Ne tregojmë aplikacionin App / Window.show_all ();

Duke klikuar në butonin do të marrim si prodhim:

Kap nga 2013-10-31 23:35:58

Ne përpilojmë dhe ekzekutojmë:

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

Tani ju lë disa lidhje interesi:

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


14 komente, lini tuajën

Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.

  1.   pandev92 dijo

    Problemi me të mos paturit e një ide që tërheq dritare është se duhet të dini të gjitha metodat e klasës për të krijuar një dritare, diçka primitive, me të vërtetë.

    1.    të nuancuar dijo

      Nëse do të kishit bërë një punë të mirë në fazën e dizajnit, nuk do të kishit asnjë arsye për të përdorur një IDE kur programonit.

      1.    pandev92 dijo

        Ju nuk më kuptuat, unë po flas për të patur një ide që do ta bëjë atë për ju, dritare, pa pasur nevojë të shkruani kod në parim:

        http://imagebin.org/275532

        Kjo ju kursen nga të dini se cila është metoda e një butoni, etj, etj

        1.    marianogaudix dijo

          Me një IDE ju kurseni vetëm kohë …… Por nëse flasim për funksionalitetin kur përdorni një IDE ose një terminal kur përpiloni, ata të dy përmbushin të njëjtat funksione.
          Isshtë çështje shijeje dhe komoditeti.

        2.    artis dijo

          Pra keni Glade (https://glade.gnome.org/), është një mjet RAD që ju lejon të dizajnoni shpejt dritaret e aplikacionit me klikime të thjeshta të miut.

          Pasi të krijohet ndërfaqja, ajo gjeneron një skedar në formatin xml që mund ta thirrni nga gjuhët e programimit si C, C ++, Python, Perl, Vala, Java, etj.

          Shpresoj që kjo t'i përgjigjet pyetjes tuaj.

        3.    lolbimbo dijo

          Nëse ekziston një ide që integron një krijues të dritareve, Anjuta IDE.

  2.   Juan Pablo dijo

    Përshëndetje Lolbimbo:
    Disa kohë më parë vendosa të përdor Vala si gjuhën time kryesore para D dhe Golang për x arsye, por unë jam mbërthyer në një problem, kodin që kam përpiluar shumë mirë, por tani kam gabimin e mëposhtëm:

    /media/…/vala/nn.vala.c: Në funksionin 'kryesore':
    /media/…/vala/nn.vala.c:155:2:2.0: paralajmërimi: 'g_type_init' është vjetëruar (deklaruar në /usr/include/glib-669/gobject/gtype.h:XNUMX) [-Deklaratat e amortizuara]
    g_type_init();

    nëse ka shumë telashe do ta kuptoj, faleminderit paraprakisht dhe urime për blogun.

    1.    lolbimbo dijo

      Përshëndetje mik, po filloj me vala, por më kalo kodin që ke në linjën 155, gjithsesi është një paralajmërim, jo ​​një gabim, nëse punon për ty, asgjë nuk ndodh pasi mund të jetë një gabim vala.

      1.    Juan Pablo dijo

        Përshëndetje Lolimbo, unë festoj entuziazmin tuaj pasi që u ndjeva i vetmuar në vala, në të vërtetë gabimi më jepet në çdo kod kaq të thjeshtë si: duke përdorur Gtk;

        int kryesore (vargjet [] harqet) {
        Gtk.init (harqet e referimit);

        dritarja var = Dritare e re ();
        window.title = "Programi i parë GTK +";
        dritarja.gjerësia_kufiri = 10;
        dritarja.pozicioni i dritares = Pozicioni i dritares.QENDRA;
        dritare.set_default_size (350, 70);
        dritarja.destroy.connect (Gtk.main_quit);

        butoni var = Butoni i ri.with_label ("Kliko mua!");
        button.clicked.connect (() => {
        button.label = "Faleminderit";
        });
        provoni {
        // Ose direkt nga një skedar ...
        dritare.icon = Gdk.Pixbuf i ri nga skedari ("aplikacioni im.png");
        //… ose nga tema
        window.icon = IconTheme.get_default () .load_icon ("aplikacioni im", 48, 0);
        } kap (Gabim e) {
        stderr.printf ("Nuk mund të ngarkohet ikona e aplikacionit:% s \ n", e.message);
        }
        dritare.shto (butoni);
        dritare.shfaq_të gjitha ();

        Gtk.kryesore ();
        0 kthehen;
        }

        Por midis punës me Windows dhe në shtëpi, nuk kam kohë për të gjetur gabimin, më duket se është një problem me versionet e vala, nuk e di.

        1.    lolbimbo dijo

          Përditësimi i vala duhet të heq paralajmërimin.

  3.   uribet dijo

    Tutoriali është shpjeguar mirë dhe më pëlqen, vetëm se gjithmonë kam menduar, pse gjithmonë të filloni me programin "hello world", për fillestarët do të ishte mirë, por çfarë nga ata që tashmë kanë përvojë programimi? Pse të mos tregoni se si të krijoni një ndërfaqe me disa elementë (butona, etiketa, etj)?

    Më pëlqen Vala dhe dua ta mësoj, por do të ishte më konstruktive të filloja pak më shumë "në mes", apo jo?

    1.    lolbimbo dijo

      Së shpejti do të gjeni një post tjetër me një nivel të ndërmjetëm.

  4.   juanra20 dijo

    Java?

    Tutorial i bukur i shpjeguar mirë dhe gjithçka më bëri të mendoj të vendos vala dhe gtk në listën time për të mësuar.

  5.   -ik- dijo

    Shkëlqyeshëm, tani unë sugjeroj një udhëzues Seed (javascript) + Gtk, do të ishte mjaft interesant, pasi ky është opsioni zyrtar që projekti Gnome ka zgjedhur.