如何使小工具可点击

How to make a Widget clickable

本文关键字:工具 何使小      更新时间:2023-10-16

我使用GtkTable制作了一个表,并在该表中附加了linux中的小部件。

在每个小部件上都会显示一个视频。现在我想让所有的小部件都可以点击,这样我就可以在全屏模式下显示点击的视频。

应该使用什么功能使小部件可以点击。

不知道您正在使用什么子窗口小部件。当鼠标点击(按下然后释放)时,许多小部件会发出信号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);

也许小部件GtkEventBox会对您有所帮助。