Pirmie soļi [Vala + Gtk 3]: Sveika pasaule !!

Šajā mazajā apmācībā mēs redzēsim, kā spert pirmos soļus ar Vala un GTK3. Sāksim:

Nepieciešamo rīku uzstādīšana

sudo apt-get install valac libgtk-3-dev

IDE:

Mēs varam atrast ļoti daudz redaktoru, kurus mēs varam izmantot / konfigurēt kā IDE. To piemērs ir Scratch, SublimeTeksts, Geany ... Manā gadījumā es izmantošu Scratch (ko varam atrast elementāros os).

Scratch

Apskatīsim tipisko Hello World !, piemēru, kas būtu šāds:

Uzņemiet no 2013. gada 10. septembra 31:23:33

Un kods izskatīsies šādi:

Uzņemiet no 2013. gada 10. septembra 31:23:34

Tagad apskatīsim koda detaļas. Mums ir klase, kas ir Gtk logs.

# Mēs inicializējam Gtk ar argumentiem Gtk.init (ref args); # Mēs izveidojam lietojumprogrammu. Lietotnes lietotne = jauna lietojumprogramma (); # Mēs ievietojam lietojumprogrammu ekrāna centrā. app.window_position = Gtk.WindowPosition.CENTER; # Aizverot, mēs iznīcinām lietotni. app.destroy.connect (Gtk.main_quit); # Mēs izmērām logu app.set_default_size (100, 50); # Mēs izveidojam pogu un savienojam pogas klikšķa notikumu un izdrukājam sveicienu! poga var = jauns Gtk.Button.with_label ("Say Hello"); button.clicked.connect (() => {print ("Sveiki! \ n");}); # Pievienojiet pogu lietotnei app.add (poga); # Mēs parādām App / Window app.show_all ();

Noklikšķinot uz pogas, mēs iegūsim rezultātu:

Uzņemiet no 2013. gada 10. septembra 31:23:35

Mēs apkopojam un izpildām:

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

Tagad es jums atstāju dažas interesējošas saites:

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


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.

  1.   92 teica

    Problēma ar to, ka nav idejas, kas pievilina logus, ir tā, ka jums jāzina visas klases metodes, lai patiešām izveidotu logu, kaut ko primitīvu.

    1.    niansēts teica

      Ja projektēšanas posmā paveicāt labu darbu, programmējot jums nebūtu iemesla izmantot IDE.

      1.    92 teica

        Jūs mani nesapratāt, es runāju par idejas izveidi, kas to izdarīs jūsu vietā, logi, principā nerakstot kodu:

        http://imagebin.org/275532

        Tas ietaupa jūs no tā, ka zināt, kāda ir pogas metode utt

        1.    marianogaudix teica

          Izmantojot IDE, jūs ietaupāt tikai laiku ... ... Bet, ja mēs runājam par funkcionalitāti, kad apkopojot izmantojat IDE vai TERMINAL, viņi abi pilda vienas un tās pašas funkcijas.
          Tas ir gaumes un komforta jautājums.

        2.    artuss teica

          Nu jums ir Glade (https://glade.gnome.org/), ir RAD rīks, kas ļauj ātri noformēt lietojumprogrammu logus ar vienkāršiem peles klikšķiem.

          Kad interfeiss ir izveidots, tas ģenerē failu xml formātā, kuru varat izsaukt no programmēšanas valodām, piemēram, C, C ++, Python, Perl, Vala, Java utt.

          Es ceru, ka tas atbildēs uz jūsu jautājumu.

        3.    lolbimbo teica

          Ja ir ideja, kas integrē logu veidotāju, Anjuta IDE.

  2.   Huans Pablo teica

    Sveiks, Lolbimbo:
    Pirms kāda laika x iemeslu dēļ es nolēmu lietot Vala kā galveno valodu pirms D un Golang, taču esmu iestrēdzis kādā problēmā - kodā, kuru esmu ļoti labi sastādījis, taču tagad tiek parādīta šāda kļūda:

    /media/…/vala/nn.vala.c: Funkcijā “main”:
    /media/…/vala/nn.vala.c:155:2: brīdinājums: 'g_type_init' ir novecojis (deklarēts vietnē /usr/include/glib-2.0/gobject/gtype.h:669) [-Wdeprecated-deklarācijas]
    g_type_init();

    ja tas ir par daudz nepatikšanas, es saprotu, jau iepriekš pateicos un apsveicu ar emuāru.

    1.    lolbimbo teica

      Sveiks, draugs, es sāku ar vala, bet nododiet kodu, kas jums ir 155. rindā, vienalga, tas ir brīdinājums, nevis kļūda, ja tas jums darbojas, nekas nenotiek, jo tā var būt vala kļūda.

      1.    Huans Pablo teica

        Sveiki, Lolimbo, es priecājos par jūsu entuziasmu, jo valā jutos vientuļš. Patiesībā kļūda man dod vienkāršu kodu: izmantojot Gtk;

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

        var log = new Window ();
        window.title = "Pirmā GTK + programma";
        logs.border_width = 10;
        window.window_position = WindowPosition.CENTER;
        window.set_default_size(350, 70);
        window.destroy.connect(Gtk.main_quit);

        poga var = jauna Button.with_label ("Noklikšķiniet uz manis!");
        button.clicked.connect (() => {
        button.label = "Paldies";
        });
        mēģiniet {
        // Vai nu tieši no faila ...
        window.icon = new Gdk.Pixbuf.from_file ("my-app.png");
        //… vai no tēmas
        window.icon = IconTheme.get_default () .load_icon ("mana lietotne", 48, 0);
        } catch (kļūda e) {
        stderr.printf ("Nevarēja ielādēt lietojumprogrammas ikonu:% s \ n", e. ziņojums);
        }
        window.add (poga);
        window.show_all();

        Gtk.main();
        0 atgriezties;
        }

        Bet starp darbu ar Windows un mājās man nav laika nomedīt kļūdu, man šķiet, ka tā ir problēma ar vala versijām, es nezinu.

        1.    lolbimbo teica

          Atjauninot vala, brīdinājums jānoņem.

  3.   uribes teica

    Apmācība ir labi izskaidrota, un man tā patīk, tikai tas, ka es vienmēr esmu domājis, kāpēc vienmēr sākt ar programmu "sveika pasaule", iesācējiem tas būtu labi, bet kā ir ar tiem, kam jau ir programmēšanas pieredze? Kāpēc gan nenorādīt, kā izveidot saskarni ar vairākiem elementiem (pogām, etiķetēm utt.)?

    Man patīk Vala, un es vēlos to iemācīties, bet konstruktīvāk būtu sākt mazliet vairāk "pa vidu", vai ne?

    1.    lolbimbo teica

      Drīz būs vēl viens amats ar vidēju līmeni.

  4.   Juanra - 20 teica

    Java?

    Jauka apmācība ir labi izskaidrota, un viss faktiski lika man apsvērt iespēju vala un gtk ievietot manā apgūstamo lietu sarakstā.

  5.   -ik- teica

    Izcili, tagad es iesaku Seed (javascript) + Gtk apmācību, tas būtu diezgan interesanti, jo tas ir oficiālais variants, ko Gnome projekts ir izvēlējies.