In diesem kleinen Tutorial erfahren Sie, wie Sie unsere ersten Schritte mit Vala und GTK3 ausführen. Lass uns anfangen:
Installieren Sie die erforderlichen Werkzeuge
sudo apt-get install valac libgtk-3-dev
Die IDE:
Wir können eine Vielzahl von Editoren finden, die wir als IDE verwenden / konfigurieren können. Beispiele dafür sind Schutz vor, Erhabener Text, Geany … In meinem Fall werde ich Scratch verwenden (was wir in elementaren os finden können).
Sehen wir uns das typische Beispiel von Hello World! An, das wie folgt lautet:
Und der Code würde so aussehen:
Nun sehen wir uns die Details des Codes an. Wir haben eine Klasse, die ein Gtk-Fenster ist.
# Wir initialisieren Gtk mit den Argumenten Gtk.init (ref args); # Wir erstellen die Anwendung. Anwendungs-App = neue Anwendung (); # Wir platzieren die Anwendung in der Mitte des Bildschirms. app.window_position = Gtk.WindowPosition.CENTER; # Beim Schließen zerstören wir die App. app.destroy.connect (Gtk.main_quit); # Wir messen das Fenster app.set_default_size (100, 50); # Wir erstellen eine Schaltfläche und verbinden das Schaltfläche-Klick-Ereignis und drucken ein Hallo! var button = new Gtk.Button.with_label ("Sag Hallo"); button.clicked.connect (() => {print ("Hallo! \ n");}); # Fügen Sie die Schaltfläche zur App app.add (Schaltfläche) hinzu. # Wir zeigen die App / Window app.show_all ();
Durch Klicken auf die Schaltfläche erhalten wir als Ausgabe:
Wir kompilieren und führen aus:
$ valac -v lol.vala --pkg gtk + -3.0 $ ./lol
Jetzt hinterlasse ich Ihnen einige interessante Links:
http://elementaryos.org/docs/code/the-basic-setup
Das Problem, wenn Sie keine Idee haben, die Fenster zeichnet, besteht darin, dass Sie alle Methoden der Klasse kennen müssen, um ein Fenster zu erstellen, etwas Primitives.
Wenn Sie in der Entwurfsphase gute Arbeit geleistet hätten, hätten Sie keinen Grund, beim Programmieren eine IDE zu verwenden.
Sie haben mich nicht verstanden, ich spreche von einer Idee, die es für Sie erledigt, Windows, ohne im Prinzip Code eingeben zu müssen:
http://imagebin.org/275532
Das erspart Ihnen die Kenntnis der Methode einer Schaltfläche usw.
Mit einer IDE sparen Sie nur Zeit ... Wenn wir jedoch beim Kompilieren über Funktionen bei der Verwendung einer IDE oder eines TERMINALs sprechen, erfüllen beide die gleichen Funktionen.
Es ist eine Frage des Geschmacks und des Komforts.
Nun, du hast Glade (https://glade.gnome.org/) ist ein RAD-Tool, mit dem Sie schnell Anwendungsfenster mit einfachen Mausklicks entwerfen können.
Sobald die Schnittstelle erstellt ist, generiert sie eine Datei im XML-Format, die Sie aus Programmiersprachen wie C, C ++, Python, Perl, Vala, Java usw. aufrufen können.
Ich hoffe das beantwortet deine Frage.
Wenn es eine Idee gibt, die einen Fensterersteller integriert, Anjuta IDE.
Hallo Lolbimbo:
Vor einiger Zeit habe ich mich aus x Gründen entschieden, Vala als meine Hauptsprache vor D und Golang zu verwenden, aber ich stecke in einem Problem fest, dem Code, den ich sehr gut kompiliert habe, aber jetzt erhalte ich den folgenden Fehler:
/media/…/vala/nn.vala.c: In der Funktion 'main':
/media/…/vala/nn.vala.c:155:2: Warnung: 'g_type_init' ist veraltet (deklariert unter /usr/include/glib-2.0/gobject/gtype.h:669) [-Wdeprecated-Deklarationen]
g_type_init();
Wenn es zu viel Mühe gibt, werde ich verstehen, danke im Voraus und Glückwünsche auf dem Blog.
Hallo Freund, ich fange mit vala an, aber gib mir den Code, den du in Zeile 155 hast. Trotzdem ist es eine Warnung, kein Fehler. Wenn es für dich funktioniert, passiert nichts, da es ein Vala-Fehler sein kann.
Hallo Lolimbo, ich feiere deine Begeisterung, da ich mich in vala einsam fühlte. Tatsächlich gibt mir der Fehler in jedem Code so einfach wie: using Gtk;
int main (string [] args) {
Gtk.init(ref args);
var window = neues Fenster ();
window.title = "Erstes GTK + Programm";
window.border_width = 10;
window.window_position = WindowPosition.CENTER;
window.set_default_size(350, 70);
window.destroy.connect(Gtk.main_quit);
var button = new Button.with_label ("Klick mich!");
button.clicked.connect (() => {
button.label = "Danke";
});
versuche {
// Entweder direkt aus einer Datei ...
window.icon = new Gdk.Pixbuf.from_file ("my-app.png");
//… oder aus dem Thema
window.icon = IconTheme.get_default () .load_icon ("my-app", 48, 0);
} catch (Fehler e) {
stderr.printf ("Anwendungssymbol konnte nicht geladen werden:% s \ n", e.message);
}
window.add (Schaltfläche);
window.show_all();
Gtk.main();
Rückkehr 0;
}
Aber zwischen der Arbeit mit Windows und zu Hause habe ich keine Zeit, um den Fehler aufzuspüren. Es scheint mir, dass es ein Problem mit Vala-Versionen ist, ich weiß es nicht.
Durch das Aktualisieren von vala sollte die Warnung entfernt werden.
Das Tutorial ist gut erklärt und ich mag es, nur dass ich mich immer gefragt habe, warum ich immer mit dem "Hallo Welt" -Programm beginne, für Anfänger wäre es in Ordnung, aber was ist mit denen, die bereits Programmiererfahrung haben? Warum nicht angeben, wie eine Schnittstelle mit mehreren Elementen (Schaltflächen, Beschriftungen usw.) erstellt werden soll?
Ich mag Vala und möchte es lernen, aber es wäre konstruktiver, ein bisschen mehr "dazwischen" zu beginnen, oder?
Bald gibt es einen weiteren Beitrag mit mittlerem Level.
Java?
Nettes Tutorial, gut erklärt und alles hat mich dazu gebracht, Vala und GTK auf meine To-Learn-Liste zu setzen.
Ausgezeichnet, jetzt schlage ich ein Seed (Javascript) + Gtk-Tutorial vor, es wäre ziemlich interessant, da dies die offizielle Option ist, die das Gnome-Projekt ausgewählt hat.