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

來源:互聯網
上載者:User

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

  僅僅建立一個空白視窗是不夠的,下面我們為建立的視窗添加一個按鈕。

以 Hello,World!為例。

首先建立一個源檔案:example2.c 內容如下。

#include  <gtk/gtk.h>//點擊按鈕後被調用的函數,用於輸出hello,worldstatic void print_msg (GtkWidget *button , gpointer data){    printf("Hello , world!\n");}static void activate (GtkApplication *app , gpointer data){    GtkWidget *win;        //申明一個按鈕    GtkWidget *button;    //申明一個盒容器,用於容納按鈕,控制大小    GtkWidget *button_box;    win = gtk_application_window_new(app);    gtk_window_set_title(GTK_WINDOW(win) , "Button test");    gtk_window_set_default_size(GTK_WINDOW(win) , 200 , 200);    //建立一個盒容器,並設定水平放置    button_box = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL); //gtk_orientation_horizontal        //將盒容器包含進window中    gtk_container_add(GTK_CONTAINER(win) , button_box);    //建立一個按鈕,並帶有“My button” 的標籤    button = gtk_button_new_with_label("My button");        //串連訊號,讓點擊按鈕後,便調用 print_msg 函數    g_signal_connect(button , "clicked" , G_CALLBACK( print_msg ) , NULL);
 
 //將按鈕放入盒容器中 gtk_container_add(GTK_CONTAINER(button_box) , button); //顯示window及其所有控制項 gtk_widget_show_all(win);}int main(int argc , char **argv){ GtkApplication *app; int app_status; app = gtk_application_new("org.gtk.exmple" , G_APPLICATION_FLAGS_NONE); g_signal_connect(app , "activate" , G_CALLBACK(activate) , NULL); app_status = g_application_run(G_APPLICATION(app) , argc , argv); g_object_unref(app); return app_status;}

  編譯,運行結果如下:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.