第一步[Vala + Gtk 3]:世界您​​好!

我們將在這個小教程中看到如何使用Vala和GTK3邁出第一步。 讓我們開始吧:

安裝必要的工具

sudo apt-get install valac libgtk-3-dev

IDE:

我們可以找到各種各樣的編輯器,可以使用它們/將其配置為IDE。 他們的例子是 , 崇高文本, Geany …就我而言,我將使用Scratch(我們可以在基本操作系統中找到)。

刮

讓我們看一下Hello World!的典型示例,如下所示:

從2013-10-31 23:33:12捕獲

代碼看起來像這樣:

從2013-10-31 23:34:48捕獲

現在,讓我們看一下代碼的細節。 我們有一個類,它是一個Gtk窗口。

#我們使用參數Gtk.init(ref args)初始化Gtk; #我們創建應用程序。 應用程序app =新應用程序(); #我們將應用程序放置在屏幕中央。 app.window_position = Gtk.WindowPosition.CENTER; #關閉時,我們將銷毀應用程序。 app.destroy.connect(Gtk.main_quit); #我們測量窗口app.set_default_size(100,50); #我們創建一個按鈕並連接按鈕單擊事件並打印一個問候! var button = new Gtk.Button.with_label(“問好”); button.clicked.connect(()=> {print(“ Hello!\ n”);}); #將按鈕添加到應用程序app.add(按鈕); #我們顯示App / Window app.show_all();

通過單擊按鈕,我們將得到如下輸出:

從2013-10-31 23:35:58捕獲

我們編譯並執行:

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

現在,我給您留下一些有趣的鏈接:

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


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。

  1.   潘德夫92 他說:

    沒有繪製窗口的想法的問題在於,您必須了解創建窗口的類的所有方法,實際上是一種原始方法。

    1.    細微的 他說:

      如果您在設計階段做得很好,那麼在編程時就沒有理由使用IDE。

      1.    潘德夫92 他說:

        您不了解我,我是說有一個想法可以為您(Windows)做到這一點,而無需原則上鍵入代碼:

        http://imagebin.org/275532

        這使您不必知道按鈕的方法是什麼,等等。

        1.    馬里亞諾高迪克斯 他說:

          使用IDE只會節省時間……但是,如果我們談論使用IDE或編譯時使用的TERMINAL時的功能,它們都實現相同的功能。
          這是口味和舒適性的問題。

        2.    us 他說:

          好吧,你有Glade(https://glade.gnome.org/),這是一種RAD工具,可讓您通過單擊鼠標快速設計應用程序窗口。

          創建接口後,它將生成xml格式的文件,您可以從諸如C,C ++,Python,Perl,Vala,Java等編程語言中調用該文件。

          我希望這回答了你的問題。

        3.    洛賓博 他說:

          如果有集成窗口創建器的想法,請使用Anjuta IDE。

  2.   胡安 - 帕布羅 - 他說:

    你好Lolbimbo:
    前一段時間,出於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.    胡安 - 帕布羅 - 他說:

        您好Lolimbo,我很高興您的熱情,因為我在vala中感到孤獨,實際上,錯誤使我的代碼變得簡單如:使用Gtk;

        int main(字符串[] args){
        Gtk.init(ref args);

        var window = new Window();
        window.title =“第一個GTK +程序”;
        窗口.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 =新的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”程序開始,對於初學者來說就可以了,但是那些已經有編程經驗的人呢? 為什麼不說明如何使用多個元素(按鈕,標籤等)創建界面?

    我喜歡Vala,並且想學習它,但是在“之間”開始更多一點會更具建設性,對嗎?

    1.    洛賓博 他說:

      不久之後便是另一個中級職位。

  4.   胡安拉20 他說:

    Java的?

    很好的教程進行了很好的解釋,這實際上使我考慮將vala和gtk放在我的學習列表中。

  5.   -我知道- 他說:

    太好了,現在我建議使用Seed(javascript)+ Gtk教程,這將非常有趣,因為這是Gnome項目選擇的正式選項。