Linux 下從頭再走 GTK+-3.0 (一),gtk-3.0

來源:互聯網
上載者:User

Linux 下從頭再走 GTK+-3.0 (一),gtk-3.0

  原本由於項目需求在 Linux 下學習過一段時間的 GTK+2.0 圖形開發,時隔一段時間,想真正深入學習一下 GTK 。

 這次直接從頭學習 GTK+-3.0 ,並寫下博文便於日後查看,也方便新手入門。

  安裝環境參考:

    Fedora:http://www.cnblogs.com/watsonlong/archive/2011/04/06/2006989.html

    Ubuntu:http://www.cnblogs.com/niocai/archive/2011/07/15/2107472.html

    Arch    :直接執行 sudo pacman -S gtk3 即可。

  注意採用的是GTK3,上文中大部分是GTK2,注意同樣的方式安裝GTK3。

 

 首先學習到的便是建立一個空白的視窗。我們建立一個名為 example.c 的源檔案。內容如下

 1 #include <gtk/gtk.h>            //每個GTK程式都要包含的標頭檔,裡面申明了很多類型,函數原型等 2  3 static void activate (GtkApplication *app , gpointer data) 4 { 5     GtkWidget *window;                                                                                        //申明一個視窗 6  7     window = gtk_application_window_new(app);                                           //為app建立一個視窗 8  9     gtk_window_set_title(GTK_WINDOW(window) , "Application");              //設定視窗的標題10    gtk_window_set_default_size(GTK_WINDOW(window) , 200 , 200);    //設定視窗預設大小為長寬各200像素11    gtk_widget_show_all(window);                                                                      //顯示視窗12 }13 14 15 int main(int argc , char **argv)  //主函數16 {17     GtkApplication *app;          //申明建立一個 GtkApplicatin對象名為app18     int app_status;               //用於拿到app 運行結束後的傳回值19 20     app = gtk_application_new("org.rain.gtk" , G_APPLICATION_FLAGS_NONE);  //建立一個application21     g_signal_connect(app , "activate" , G_CALLBACK(activate) , NULL);      //串連訊號,初始化app時,調用 activate 函數22     app_status = g_application_run(G_APPLICATION(app) , argc , argv);      //運行app23 24     g_object_unref(app);                                                  //銷毀app25 26     return app_status;27 }

  如下方式編譯源檔案,並執行產生的example可執行檔。

gcc example.c `pkg-config --cflags --libs gtk+-3.0` -Wall -o example./example

  運行結果如下:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.