最初のステップ[Vala + Gtk 3]:Hello World !!

この小さなチュートリアルでは、ValaとGTK3を使って最初の一歩を踏み出す方法を見ていきます。 始めましょう:

必要なツールのインストール

sudo apt-get install valac libgtk-3-dev

IDE:

IDEとして使用/構成できるさまざまなエディターを見つけることができます。 それらの例は Scratch, 崇高なテキスト, Geany …私の場合、Scratchを使用します(これはエレメンタリーOSで見つけることができます)。

Scratch

Hello World!の典型的な例を見てみましょう。これは次のようになります。

2013-10-31:23:33からキャプチャ

そして、コードは次のようになります。

2013-10-31:23:34からキャプチャ

それでは、コードの詳細を見てみましょう。 Gtkウィンドウであるクラスがあります。

#引数Gtk.init(ref args);でGtkを初期化します。 #アプリケーションを作成します。 アプリケーションアプリ=新しいアプリケーション(); #アプリケーションを画面の中央に配置します。 app.window_position = Gtk.WindowPosition.CENTER; #閉じるときにアプリを破棄します。 app.destroy.connect(Gtk.main_quit); #ウィンドウを測定しますapp.set_default_size(100、50); #ボタンを作成し、ボタンクリックイベントを接続して、hello!を出力します。 var button = new Gtk.Button.with_label( "Say Hello"); button.clicked.connect(()=> {print( "Hello!\ n");}); #ボタンをアプリに追加しますapp.add(button); #アプリ/ウィンドウを表示しますapp.show_all();

ボタンをクリックすると、出力として取得されます。

2013-10-31:23:35からキャプチャ

コンパイルして実行します。

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

今、私はあなたに興味のあるいくつかのリンクを残します:

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


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。

  1.   パンデブ92

    ウィンドウを描画するIDEがない場合の問題は、ウィンドウを作成するには、クラスのすべてのメソッドを知っている必要があるということです。

    1.    ニュアンス

      設計段階で良い仕事をしたのであれば、プログラミング時にIDEを使用する理由はありません。

      1.    パンデブ92

        あなたは私を理解していませんでした、私は原則としてコードをタイプする必要なしにあなたのためにそれをするアイデアを持っていることについて話している、ウィンドウズ:

        http://imagebin.org/275532

        これにより、ボタンの方法などを知る必要がなくなります。

        1.    マリアノガウディクス

          IDEを使用すると、時間の節約になります……しかし、IDEを使用するときの機能や、コンパイル時にTERMINALについて話すと、どちらも同じ機能を果たします。
          それは味と快適さの問題です。

        2.    アルタス

          さてあなたはGladeを持っています(https://glade.gnome.org/)は、マウスをクリックするだけでアプリケーションウィンドウをすばやく設計できるRADツールです。

          インターフェイスが作成されると、C、C ++、Python、Perl、Vala、Javaなどのプログラミング言語から呼び出すことができるxml形式のファイルが生成されます。

          これがあなたの質問に答えることを願っています。

        3.    ロンビンボ

          ウィンドウクリエーター、AnjutaIDEを統合するアイデアがある場合。

  2.   ファン - パブロ

    こんにちはロルビンボ:
    少し前に、xの理由でDとGolangの前にValaをメイン言語として使用することにしましたが、問題が発生しました。コードは非常にうまくコンパイルされましたが、次のエラーが発生します。

    /media/…/vala/nn.vala.c:関数 'main'内:
    /media/…/vala/nn.vala.c:155:2:警告: 'g_type_init'は非推奨です(/usr/include/glib-2.0/gobject/gtype.h:669で宣言されています)[-Wdeprecated-declarations]
    g_type_init();

    面倒くさい場合は、よろしくお願いします。ブログでおめでとうございます。

    1.    ロンビンボ

      こんにちは友人、私はvalaから始めていますが、155行目にあるコードを渡してください。とにかく、エラーではなく警告です。それが機能する場合は、valaのバグである可能性があるため、何も起こりません。

      1.    ファン - パブロ

        こんにちはロリンボ、私はバラで孤独を感じたのであなたの熱意を祝います、実際、エラーは次のような単純なコードで私に与えます:Gtkを使用する;

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

        var window = new 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 = new Button.with_label( "Click me!");
        button.clicked.connect(()=> {
        button.label = "ありがとう";
        });
        試して{
        //ファイルから直接..。
        window.icon = new 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のバージョンに問題があるように思われます。わかりません。

        1.    ロンビンボ

          valaを更新すると、警告が削除されます。

  3.   うりべ

    チュートリアルはよく説明されており、気に入っています。いつも疑問に思っていたのですが、なぜ常に「hello world」プログラムから始めるのか、初心者にとっては問題ないのですが、プログラミングの経験がある人はどうでしょうか。 いくつかの要素(ボタン、ラベルなど)でインターフェースを作成する方法を示してみませんか?

    私はヴァラが好きで、それを学びたいのですが、もう少し「中間」から始める方が建設的ですよね?

    1.    ロンビンボ

      間もなく、中級レベルの別の投稿があります。

  4.   フアンラ20

    Java?

    素敵なチュートリアルはよく説明されており、すべてが実際に私が学ぶべきことのリストにvalaとgtkを置くことを考えさせました。

  5.   -イク-

    すばらしいです。シード(javascript)+ Gtkチュートリアルをお勧めします。これは、Gnomeプロジェクトが選択した公式オプションであるため、非常に興味深いものです。