我使用GtkTable
创建了一个表,在该表中我已经在linux中附加了widget。
在每个小部件上显示视频。现在我想让所有小部件都可以点击,这样我就可以在全屏模式下显示点击的视频。
应该使用什么功能来使小部件可以点击。
答案 0 :(得分:1)
也许widget GtkEventBox
会帮助你。
答案 1 :(得分:1)
不知道您正在使用哪种子窗口小部件。当鼠标点击(按下然后释放)时,许多小部件会发出信号button-release-event
。你可以听到这样的信号:
gboolean toggle_play(GtkWidget *widget, GdkEventButton *event, gpointer data)
{
// play or pause the video of the widget
return TRUE; // or FALSE if you connected more than one handlers to this signal
}
g_signal_connect(widget, "button-release", G_CALLBACK (toggle_play), data);
其中widget
是您播放视频的子窗口小部件,它将作为toggle_play
的第一个参数传递。 data
是要作为toggle_play
的第三个参数传递的其他数据,如果不需要,可以只是NULL
。
您可能需要将GDK_BUTTON_RELEASE_MASK
添加到子窗口小部件的事件掩码中:
gtk_widget_add_events (widget, GDK_BUTTON_RELEASE_MASK);