Š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).
Apskatīsim tipisko Hello World !, piemēru, kas būtu šāds:
Un kods izskatīsies šādi:
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:
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
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.
Ja projektēšanas posmā paveicāt labu darbu, programmējot jums nebūtu iemesla izmantot IDE.
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
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.
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.
Ja ir ideja, kas integrē logu veidotāju, Anjuta IDE.
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.
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.
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.
Atjauninot vala, brīdinājums jānoņem.
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?
Drīz būs vēl viens amats ar vidēju līmeni.
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ā.
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.