Esimesed sammud [Vala + Gtk 3]: Tere maailm !!

Selles väikeses õpetuses näeme, kuidas teha esimesi samme Vala ja GTK3-ga. Alustame:

Vajalike tööriistade paigaldamine

sudo apt-get install valac libgtk-3-dev

IDE:

Leiame palju redaktoreid, mida saame IDE-na kasutada / konfigureerida. Näide neist on Kraapige, SublimeTekst, Geany ... minu puhul hakkan kasutama Scratchi (mille võime leida elementaarsest os-st).

Kraapige

Vaatame tüüpilist näidet Hello World !, mis oleks järgmine:

Jäädvusta 2013-10-31 23:33:12

Ja kood näeks välja selline:

Jäädvusta 2013-10-31 23:34:48

Nüüd vaatame koodi üksikasju. Meil on klass, mis on GTK aken.

# Initsialiseerime Gtk argumentidega Gtk.init (ref args); # Me loome rakenduse. Rakenduse rakendus = uus rakendus (); # Panime rakenduse ekraani keskele. app.window_position = Gtk.WindowPosition.CENTER; # Sulgemisel hävitame rakenduse. app.destroy.connect (Gtk.main_quit); # Mõõdame akna app.set_default_size (100, 50); # Me loome nupu ja ühendame nupu klõpsamise sündmuse ja printime tere! var nupp = uus Gtk.Button.with_label ("Tere tulemast"); button.clicked.connect (() => {print ("Tere! \ n");}); # Lisage nupp rakenduse rakendusse app.add (nupp); # Näitame rakendust / akent app.show_all ();

Nupule klõpsates saame väljundina:

Jäädvusta 2013-10-31 23:35:58

Koostame ja täidame:

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

Nüüd jätan teile mõned huvitavad lingid:

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


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: Miguel Ángel Gatón
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.

  1.   92 DIJO

    Aknaid joonistava idee puudumine on see, et akna, millegi primitiivse, loomiseks peate teadma kõiki klassi meetodeid.

    1.    nüansirikas DIJO

      Kui teeksite projekteerimisetapis head tööd, poleks teil põhjust programmeerimisel IDE-d kasutada.

      1.    92 DIJO

        Te ei mõistnud mind, ma räägin ideest, mis teeb selle teie jaoks, aknad, ilma et peaksite põhimõtteliselt koodi sisestama:

        http://imagebin.org/275532

        See säästab teid teadmisest, mis on nupu meetod jne jne

        1.    marianogaudix DIJO

          IDE-ga säästate ainult aega ... ... Aga kui räägime IDE või TERMINALi koostamisel funktsionaalsusest, täidavad mõlemad samu funktsioone.
          See on maitse ja mugavuse küsimus.

        2.    artus DIJO

          Sul on Glade (https://glade.gnome.org/) on RAD-i tööriist, mis võimaldab teil hõlpsalt hiireklõpsuga kujundada rakenduse aknaid.

          Kui liides on loodud, genereerib see xml-vormingus faili, mille saate käivitada sellistest programmeerimiskeeltest nagu C, C ++, Python, Perl, Vala, Java jne.

          Loodan, et see vastab teie küsimusele.

        3.    lolbimbo DIJO

          Kui on idee, mis integreerib akna looja, Anjuta IDE.

  2.   Juan Pablo DIJO

    Tere, Lolbimbo:
    Mõni aeg tagasi otsustasin x põhjusel kasutada vala oma peamiseks keeleks enne D ja Golangi, kuid olen kinni probleemis, mille kood on mul väga hästi kokku pandud, kuid nüüd kuvatakse järgmine tõrge:

    /media/…/vala/nn.vala.c: funktsioonis 'main':
    /media/…/vala/nn.vala.c:155:2: hoiatus: 'g_type_init' on aegunud (deklareeritud aadressil /usr/include/glib-2.0/gobject/gtype.h:669) [-Wdeprecated-deklaratsioonid]
    g_tüüp_init ();

    kui see on liiga palju vaeva, siis saan aru, tänan ette ja õnnitlen blogi.

    1.    lolbimbo DIJO

      Tere, sõber, alustan valaga, kuid andke mulle kood, mis teil on real 155, igatahes on see hoiatus, mitte viga, kui see teie jaoks töötab, midagi ei juhtu, kuna see võib olla vala viga.

      1.    Juan Pablo DIJO

        Tere, Lolimbo, tähistan teie entusiasmi, kuna tundsin end valas üksikuna, tegelikult annab viga mulle suvalise koodi nii lihtsaks kui: Gtk kasutamine;

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

        var window = uus aken ();
        window.title = "Esimene GTK + programm";
        akna.piiri_laius = 10;
        window.window_position = aknapositsioon.KESKUS;
        window.set_default_size(350, 70);
        window.destroy.connect(Gtk.main_quit);

        var nupp = uus Button.with_label ("Klõpsake mind!");
        button.clicked.connect (() => {
        button.label = "Aitäh";
        });
        proovige {
        // Kas otse failist ...
        window.icon = uus Gdk.Pixbuf.from_file ("minu-app.png");
        //… või teemast
        window.icon = IconTheme.get_default () .load_icon ("minu rakendus", 48, 0);
        } saak (viga e) {
        stderr.printf ("Rakenduse ikooni ei õnnestunud laadida:% s \ n", e.message);
        }
        window.add (nupp);
        window.show_all();

        Gtk.main();
        0 tagasi;
        }

        Kuid Windowsiga töötamise ja kodus töötamise vahel pole mul aega viga otsida, mulle tundub, et see on probleem vala versioonidega, ma ei tea.

        1.    lolbimbo DIJO

          Vala värskendamine peaks hoiatuse eemaldama.

  3.   uriibid DIJO

    Õpetus on hästi lahti seletatud ja mulle meeldib see, ainult et ma olen alati mõelnud, miks peaksin alati algama programmist "tere maailm", algajatele oleks see tore, aga mis saab neist, kellel on juba programmeerimiskogemus? Miks mitte näidata, kuidas luua liides mitme elemendiga (nupud, sildid jne)?

    Mulle Vala meeldib ja ma tahan seda õppida, kuid konstruktiivsem oleks alustada natuke rohkem "vahepeal", eks?

    1.    lolbimbo DIJO

      Varsti on veel üks kesktasemega postitus.

  4.   Juanra 20 DIJO

    Java?

    Kena õpetus on hästi lahti seletatud ja kõik pani mind tegelikult kaaluma vala ja gtk lisamist minu loetellu, mida õppida.

  5.   -ik- DIJO

    Suurepärane, nüüd pakun välja Seed (javascript) + Gtk õpetuse, see oleks üsna huvitav, kuna see on Gnome'i projekti poolt valitud ametlik variant.