2010-01-14 139 views
1

我想做的g_signal_connect要捕捉gtk_entry小部件 鼠标点击。Gtk_entry鼠标点击信号

事情是这样的:

entry = gtk_entry_new (); 
gtk_box_pack_end (GTK_BOX (hBox), entry, TRUE, TRUE, 1); 
gtk_widget_show (entry); 

// This is the one I'm not sure about 
g_signal_connect (GTK_OBJECT (entry), "????????????", 
GTK_SIGNAL_FUNC (EntryClicked), entry); 

我似乎无法找到它的GTK文档。

我已经尝试使用了“集中式事件”,但它不工作,我SPECT。

感谢您的协助。

回答

0

鼠标点击使用button-press-event信号报道,这是你要连接什么:

g_signal_connect(G_OBJECT(entry), "button-press-event", G_CALLBACK(evt_entry_button_press), NULL); 

当然,这是假设你已经定义了一个兼容函数来处理功能。处理程序名称上的“evt_”前缀是我个人使用的简单约定。

此事件是由基地的GtkWidget类,这可能是为什么你不得不为GtkEntry中的小部件的文档中发现它的问题定义。

+0

还必须启用按钮按压掩模:'gtk_widget_set_events(条目,GDK_BUTTON_PRESS_MASK);' – Bitterblue 2013-11-15 10:52:04