Erste Schritte [Vala + Gtk 3]: Hallo Welt !!

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).

Schutz vor

Sehen wir uns das typische Beispiel von Hello World! An, das wie folgt lautet:

Aufnahme vom 2013-10-31 23:33:12

Und der Code würde so aussehen:

Aufnahme vom 2013-10-31 23:34:48

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:

Aufnahme vom 2013-10-31 23:35:58

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


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.

  1.   pandev92 sagte

    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.

    1.    nuanciert sagte

      Wenn Sie in der Entwurfsphase gute Arbeit geleistet hätten, hätten Sie keinen Grund, beim Programmieren eine IDE zu verwenden.

      1.    pandev92 sagte

        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.

        1.    Marianogaudix sagte

          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.

        2.    artus sagte

          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.

        3.    Lolbimbo sagte

          Wenn es eine Idee gibt, die einen Fensterersteller integriert, Anjuta IDE.

  2.   Juan Pablo sagte

    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.

    1.    Lolbimbo sagte

      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.

      1.    Juan Pablo sagte

        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.

        1.    Lolbimbo sagte

          Durch das Aktualisieren von vala sollte die Warnung entfernt werden.

  3.   Uribes sagte

    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?

    1.    Lolbimbo sagte

      Bald gibt es einen weiteren Beitrag mit mittlerem Level.

  4.   juanra20 sagte

    Java?

    Nettes Tutorial, gut erklärt und alles hat mich dazu gebracht, Vala und GTK auf meine To-Learn-Liste zu setzen.

  5.   -ich k- sagte

    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.