GTK學習筆記1-簡單的控制元件和事件響應
阿新 • • 發佈:2019-02-04
手頭課題要求,需要在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; }
最終執行結果為: