1. 程式人生 > >GTK學習筆記1-簡單的控制元件和事件響應

GTK學習筆記1-簡單的控制元件和事件響應

手頭課題要求,需要在Linux下寫一個測試系統的圖形介面。
測試系統的底層採集API其實已經算是給出了,我要做的無非是包裝一下。剛開始接觸Linux和Gtk,還是得加把勁學習。
手頭上是姜林美的《Linux環境程式設計》,關於Gtk+的一個小例子,用於實現對GtkImage構件的顯示和響應。點選圖片,控制檯輸出滑鼠座標。稍有修改。將GtkImage放置在EventBox中用於響應滑鼠。
#include <gtk/gtk.h>  
static gboolean Btn(GtkWidget *widget,GdkEventButton *event,gpointer data)  
{  
    g_print("Coordinates @ %f,%f\n",event->x,event->y);  
    return TRUE;  
}  
  
int main(int argc,charchar *argv[])  
{  
    GtkWidget *window;  
    GtkWidget *image;  
    GtkWidget *event_box;  
  
    gtk_init(&argc,&argv);  
  
    window=gtk_window_new(GTK_WINDOW_TOPLEVEL);  
    image=gtk_image_new_from_file("testimage.jpg");  
  
    event_box=gtk_event_box_new();  
    gtk_container_add(GTK_CONTAINER(window), event_box);  
    gtk_container_add(GTK_CONTAINER(event_box),image);  
    g_signal_connect(G_OBJECT(event_box),"button_press_event",G_CALLBACK(Btn),NULL);  
  
    gtk_widget_show_all(window);  
    gtk_main();  
    return 0;  
}  

最終執行結果為: