Unuaj paŝoj [Vala + Gtk 3]: Saluton Mondo !!

Ni vidos en ĉi tiu malgranda lernilo kiel fari niajn unuajn paŝojn kun Vala kaj GTK3. Ni komencu:

Instalante la necesajn ilojn

sudo apt-get install valac libgtk-3-dev

La IDE:

Ni povas trovi grandan varion de redaktantoj, kiujn ni povas uzi / agordi kiel IDE. Ekzemplo de ili estas Scratch, Sublima Teksto, Geany ... En mia kazo mi uzos Scratch (kiun ni povas trovi en elementaj os).

Scratch

Ni vidu la tipan ekzemplon de Hello World !, kiu estus jena:

Kapto de 2013-10-31 23:33:12

Kaj la kodo aspektus tiel:

Kapto de 2013-10-31 23:34:48

Nun ni vidu la detalojn de la kodo. Ni havas klason, kiu estas Gtk-fenestro.

# Ni pravalorizas Gtk per argumentoj Gtk.init (ref args); # Ni kreas la aplikaĵon. Aplika programo = nova Aplikaĵo (); # Ni metas la programon en la centron de la ekrano. app.window_position = Gtk.WindowPosition.CENTER; # Ferminte ni detruas la programon. app.destroy.connect (Gtk.main_quit); # Ni mezuras la fenestron app.set_default_size (100, 50); # Ni kreas butonon kaj konektas la butonon alklakan eventon kaj presas saluton! var-butono = nova Gtk.Button.with_label ("Diru Saluton"); button.clicked.connect (() => {print ("Saluton! \ n");}); # Aldonu la butonon al la programo app.add (butono); # Ni montras la App / Window app.show_all ();

Alklakante la butonon ni ricevos kiel eliron:

Kapto de 2013-10-31 23:35:58

Ni kompilas kaj ekzekutas:

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

Nun mi lasas al vi iujn interesajn ligojn:

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


La enhavo de la artikolo aliĝas al niaj principoj de redakcia etiko. Por raporti eraron alklaku Ĉi tie.

14 komentoj, lasu la viajn

Lasu vian komenton

Via retpoŝta adreso ne estos eldonita. Postulita kampojn estas markita per *

*

*

  1. Respondeculo pri la datumoj: Miguel Ángel Gatón
  2. Celo de la datumoj: Kontrola SPAM, administrado de komentoj.
  3. Legitimado: Via konsento
  4. Komunikado de la datumoj: La datumoj ne estos komunikitaj al triaj krom per laŭleĝa devo.
  5. Stokado de datumoj: Datumbazo gastigita de Occentus Networks (EU)
  6. Rajtoj: Iam ajn vi povas limigi, retrovi kaj forigi viajn informojn.

  1.   pandev92 diris

    La problemo ne havi ideon, kiu desegnas fenestrojn, estas, ke vi devas koni ĉiujn metodojn de la klaso por krei fenestron, ion primitivan, vere.

    1.    nuancita diris

      Se vi farus bonan laboron en la projektostadio, vi havus neniun kialon uzi IDE-programon.

      1.    pandev92 diris

        Vi ne komprenis min, mi parolas pri ideo, kiu faros ĝin por vi, Windows, sen devi tajpi kodon principe:

        http://imagebin.org/275532

        Tio savas vin scii, kio estas la metodo de butono, ktp ktp

        1.    marianogaudix diris

          Kun IDE vi nur ŝparas tempon ... Sed se ni parolas pri funkciado kiam vi uzas IDE aŭ TERMINALON dum kompilado, ili ambaŭ plenumas la samajn funkciojn.
          Temas pri gusto kaj komforto.

        2.    artus diris

          Nu vi havas Glade (https://glade.gnome.org/), estas RAD-ilo, kiu ebligas al vi rapide desegni programajn fenestrojn per simplaj musklakoj.

          Post kiam la interfaco estas kreita, ĝi generas dosieron en xml-formato, kiun vi povas alvoki el programlingvoj kiel C, C ++, Python, Perl, Vala, Java, ktp.

          Mi esperas, ke ĉi tio respondas vian demandon.

        3.    lolbimbo diris

          Se estas ideo, kiu integras fenestran kreinton, Anjuta IDE.

  2.   Johano Paŭlo diris

    Saluton Lolbimbo:
    Antaŭ iom da tempo mi decidis uzi Vala kiel mian ĉefan lingvon antaŭ D kaj Golang pro x kialoj, sed mi estas blokita en problemo, la kodo, kiun mi tre bone kompilis, sed nun mi havas la jenan eraron:

    /media/…/vala/nn.vala.c: En funkcio 'ĉefa':
    /media/…/vala/nn.vala.c:155:2: averto: 'g_type_init' estas malrekomendata (deklarita ĉe /usr/include/glib-2.0/gobject/gtype.h:669) [-Wdeprecated-declarations]
    g_tipo_init ();

    se ĝi estas tro da problemo, mi komprenos, antaŭdankon kaj gratulon pro la blogo.

    1.    lolbimbo diris

      Saluton amiko, mi komencas kun vala, sed transdonu al mi la kodon, kiun vi havas ĉe linio 155, ĉiuokaze ĝi estas averto, ne eraro, se ĝi funkcias por vi, nenio okazas, ĉar ĝi eble estas vala cimo.

      1.    Johano Paŭlo diris

        Saluton Lolimbo, mi festas vian entuziasmon ĉar mi sentis min sola en vala, fakte la eraro estas donita al mi en iu ajn kodo tiel simpla kiel: uzi Gtk;

        int main (ĉeno [] argumentoj) {
        Gtk.init(ref args);

        var fenestro = nova Fenestro ();
        window.title = "Unua Programo GTK +";
        fenestro.larĝa_larĝo = 10;
        window.window_position = WindowPosition.CENTER;
        window.set_default_size(350, 70);
        window.destroy.connect(Gtk.main_quit);

        var button = new Button.with_label ("Alklaku min!");
        button.clicked.connect (() => {
        button.label = "Dankon";
        });
        provu {
        // Aŭ rekte de dosiero ...
        window.icon = nova Gdk.Pixbuf.de_dosiero ("mia-programo.png");
        // ... aŭ de la temo
        window.icon = IconTheme.get_default () .load_icon ("mia-programo", 48, 0);
        } kapti (Eraro e) {
        stderr.printf ("Ne povis ŝargi aplikaĵan ikonon:% s \ n", e.mesaĝo);
        }
        fenestro.add (butono);
        fenestro.montri_ĉion ();

        Gtk.main();
        redoni 0;
        }

        Sed inter labori kun Vindozo kaj hejme, mi ne havas tempon ĉasi la eraron, ŝajnas al mi, ke ĝi estas problemo kun versioj de vala, mi ne scias.

        1.    lolbimbo diris

          Ĝisdatigado de vala devas forigi la averton.

  3.   uribes diris

    La lernilo estas bone klarigita kaj mi ŝatas ĝin, nur tion mi ĉiam demandis, kial ĉiam komenci per la programo "salutmondo", por komencantoj estus bone, sed kio el tiuj, kiuj jam havas programan sperton? Kial ne indiki kiel krei interfacon kun pluraj elementoj (butonoj, etikedoj, ktp)?

    Mi ŝatas Vala kaj volas lerni ĝin, sed estus pli konstrue komenci iom pli "inter", ĉu ne?

    1.    lolbimbo diris

      Baldaŭ estas alia afiŝo kun meza nivelo.

  4.   Juanra 20 diris

    Ĝavo?

    Bela lernilo bone klarigita kaj ĉio efektive igis min pripensi meti vala kaj gtk en mian lernoliston.

  5.   -ik- diris

    Bonege, nun mi proponas lernilon pri Seed (ĝavaskripto) + Gtk, ĝi estus sufiĉe interesa, ĉar ĉi tiu estas la oficiala eblo elektita de la projekto Gnome.