3
我得到這個代碼,爲鼠標左鍵點擊工程上的一個按鈕,但我怎麼會用得到正確的鼠標點擊信號:g_signal_connect用於單擊鼠標右鍵?
g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(button-action), NULL);
我得到這個代碼,爲鼠標左鍵點擊工程上的一個按鈕,但我怎麼會用得到正確的鼠標點擊信號:g_signal_connect用於單擊鼠標右鍵?
g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(button-action), NULL);
一個簡單的方法來監聽任何鼠標點擊,無論是向左或向右會是這樣:
g_signal_connect(
G_OBJECT(button)
"button-press-event",
G_CALLBACK(btn_press_callback),
NULL
);
然後,回調函數:
gboolean btn_press_callback(GtkWidget *btn, GdkEventButton *event, gpointer userdata)
{
if (event->type == GDK_BUTTON_PRESS && event->button == 3)
{//3 is right mouse btn
//do stuff
return true;//or false
}
if (event->type == GDK_BUTTON_PRESS && event->button == 1)
{//1 is left mouse btn
}
}
等。 .. More info here。
一些例子,使用GTK + -2但仍然有用,can be found here。