Θα δούμε σε αυτό το μικρό σεμινάριο πώς να κάνουμε τα πρώτα μας βήματα με το Vala και το GTK3. Ας αρχίσουμε:
Εγκατάσταση των απαραίτητων εργαλείων
sudo apt-get install valac libgtk-3-dev
Το IDE:
Μπορούμε να βρούμε μια μεγάλη ποικιλία εκδοτών που μπορούμε να χρησιμοποιήσουμε / διαμορφώσουμε ως IDE. Παραδείγματα αυτών είναι γρατσουνιά, SublimeText, Geany … Στην περίπτωσή μου θα χρησιμοποιήσω το Scratch (που μπορούμε να βρούμε στο στοιχειώδες os).
Ας δούμε το τυπικό παράδειγμα του Hello World !, το οποίο θα ήταν ως εξής:
Και ο κώδικας θα μοιάζει με αυτόν:
Τώρα ας δούμε τις λεπτομέρειες του κώδικα. Έχουμε μια τάξη που είναι ένα παράθυρο Gtk.
# Αρχικοποιούμε το Gtk με ορίσματα Gtk.init (ref args); # Δημιουργούμε την εφαρμογή. Εφαρμογή εφαρμογής = νέα εφαρμογή (); # Βάζουμε την εφαρμογή στο κέντρο της οθόνης. app.window_position = Gtk.WindowPosition.CENTER; # Κατά το κλείσιμο καταστρέφουμε την εφαρμογή. app.destroy.connect (Gtk.main_quit); # Μετρούμε το app window.set_default_size (100, 50). # Δημιουργούμε ένα κουμπί και συνδέουμε το συμβάν κλικ στο κουμπί και εκτυπώνουμε ένα γεια! var κουμπί = νέο Gtk.Button.with_label ("Say Hello"); button.clicked.connect (() => {print ("Γεια! \ n");}); # Προσθέστε το κουμπί στην εφαρμογή app.add (κουμπί); # Εμφανίζουμε την εφαρμογή App / Window.show_all ();
Κάνοντας κλικ στο κουμπί θα λάβουμε ως έξοδο:
Συλλέγουμε και εκτελούμε:
$ valac -v lol.vala --pkg gtk + -3.0 $ ./lol
Τώρα σας αφήνω μερικούς συνδέσμους ενδιαφέροντος:
http://elementaryos.org/docs/code/the-basic-setup
Το πρόβλημα με το να μην έχετε μια ιδέα που σχεδιάζει τα παράθυρα είναι ότι πρέπει να γνωρίζετε όλες τις μεθόδους της τάξης για να δημιουργήσετε ένα παράθυρο, κάτι πρωτόγονο, πραγματικά.
Εάν κάνατε καλή δουλειά στο στάδιο του σχεδιασμού, δεν θα έχετε κανένα λόγο να χρησιμοποιήσετε ένα IDE κατά τον προγραμματισμό.
Δεν με καταλάβατε, μιλάω για να έχουμε μια ιδέα που θα το κάνει για εσάς, παράθυρα, χωρίς να χρειάζεται να πληκτρολογήσετε κώδικα κατ 'αρχήν:
http://imagebin.org/275532
Αυτό σας σώζει από το να γνωρίζετε ποια είναι η μέθοδος ενός κουμπιού, κ.λπ.
Με ένα IDE εξοικονομείτε μόνο χρόνο …… Αλλά αν μιλάμε για λειτουργικότητα όταν χρησιμοποιείτε ένα IDE ή ένα TERMINAL κατά τη σύνταξη, και οι δύο εκπληρώνουν τις ίδιες λειτουργίες.
Είναι θέμα γεύσης και άνεσης.
Λοιπόν έχετε Glade (https://glade.gnome.org/), είναι ένα εργαλείο RAD που σας επιτρέπει να σχεδιάζετε γρήγορα παράθυρα εφαρμογών με απλά κλικ του ποντικιού.
Μόλις δημιουργηθεί η διεπαφή, δημιουργεί ένα αρχείο σε μορφή xml το οποίο μπορείτε να καλέσετε από γλώσσες προγραμματισμού όπως C, C ++, Python, Perl, Vala, Java κ.λπ.
Ελπίζω ότι αυτό απαντά στην ερώτησή σας.
Εάν υπάρχει μια ιδέα που ενσωματώνει έναν δημιουργό παραθύρων, το Anjuta IDE.
Γεια σας Lolbimbo:
Πριν από λίγο καιρό αποφάσισα να χρησιμοποιήσω το Vala ως κύρια γλώσσα μου πριν από το D και το Golang για x λόγους, αλλά έχω κολλήσει σε ένα πρόβλημα, τον κώδικα που έχω συντάξει πολύ καλά, αλλά τώρα έχω το ακόλουθο σφάλμα:
/media/…/vala/nn.vala.c: Στη συνάρτηση «main»:
/media/…/vala/nn.vala.conym155: προειδοποίηση: "g_type_init" έχει καταργηθεί (δηλώθηκε στη διεύθυνση /usr/include/glib-2/gobject/gtype.h:2.0) [-Wdeprecated-δηλώσεις]
g_type_init();
αν είναι πάρα πολύ πρόβλημα θα το καταλάβω, ευχαριστώ εκ των προτέρων και συγχαρητήρια στο blog.
Γεια σας φίλε, ξεκινώ με το vala, αλλά δώστε μου τον κωδικό που έχετε στη γραμμή 155, ούτως ή άλλως είναι μια προειδοποίηση, όχι ένα σφάλμα, εάν λειτουργεί για εσάς, δεν συμβαίνει τίποτα, καθώς μπορεί να είναι ένα σφάλμα.
Γεια σας Lolimbo, γιορτάζω τον ενθουσιασμό σας από τότε που ένιωσα μόνος στο vala, στην πραγματικότητα το σφάλμα μου δίνει σε οποιονδήποτε κωδικό τόσο απλό όσο: χρησιμοποιώντας το Gtk;
int main (string [] args) {
Gtk.init (αναφ. args);
var window = νέο παράθυρο ();
window.title = "Πρώτο πρόγραμμα GTK +";
window.border_width = 10;
window.window_position = WindowPosition.CENTER;
window.set_default_size(350, 70);
window.destroy.connect(Gtk.main_quit);
var κουμπί = νέο Button.with_label ("Click me!");
button.clicked.connect (() => {
button.label = "Ευχαριστώ";
})?
δοκιμάστε {
// Είτε κατευθείαν από ένα αρχείο ...
window.icon = νέο Gdk.Pixbuf.from_file ("my-app.png");
//… ή από το θέμα
window.icon = IconTheme.get_default () .load_icon ("my-app", 48, 0);
} catch (Σφάλμα e) {
stderr.printf ("Δεν ήταν δυνατή η φόρτωση του εικονιδίου εφαρμογής:% s \ n", e.message);
}
window.add (κουμπί);
window.show_all();
Gtk.main();
0 επιστρέψει?
}
Αλλά μεταξύ της εργασίας με τα Windows και στο σπίτι δεν έχω χρόνο για να κυνηγήσω το σφάλμα, μου φαίνεται ότι είναι πρόβλημα με τις εκδόσεις του vala, δεν ξέρω.
Η ενημέρωση του vala πρέπει να καταργήσει την προειδοποίηση.
Το σεμινάριο εξηγείται καλά και μου αρέσει, μόνο που πάντα αναρωτιόμουν, γιατί πάντα να ξεκινάω με το πρόγραμμα «Γεια σου κόσμος», για αρχάριους θα ήταν μια χαρά, αλλά τι γίνεται με όσους έχουν ήδη εμπειρία προγραμματισμού; Γιατί να μην υποδείξετε πώς να δημιουργήσετε μια διεπαφή με πολλά στοιχεία (κουμπιά, ετικέτες κ.λπ.);
Μου αρέσει ο Vala και θέλω να το μάθω, αλλά θα ήταν πιο εποικοδομητικό να ξεκινήσουμε λίγο περισσότερο "ενδιάμεσα", έτσι;
Σύντομα θα είναι μια άλλη ανάρτηση με ενδιάμεσο επίπεδο.
Ιάβα?
Το ωραίο σεμινάριο εξήγησε καλά και όλα με έκαναν πραγματικά να σκεφτώ να βάλω τον vala και το gtk στη λίστα με τα πράγματα που πρέπει να μάθω.
Εξαιρετική, τώρα προτείνω ένα σεμινάριο Seed (javascript) + Gtk, θα ήταν πολύ ενδιαφέρον, καθώς αυτή είναι η επίσημη επιλογή που έχει επιλέξει το έργο Gnome.