首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使小部件可点击

问如何使小部件可点击
EN

Stack Overflow用户
提问于 2012-02-07 18:36:10
回答 2查看 278关注 0票数 0

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

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

应该使用什么函数来使小工具可点击。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-08 17:57:03

不知道您使用的是哪个子部件。当鼠标单击(按下然后松开)时,许多小部件都会发出信号button-release-event。你可以听到这样的信号:

代码语言:javascript
复制
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:

代码语言:javascript
复制
gtk_widget_add_events (widget, GDK_BUTTON_RELEASE_MASK);
票数 1
EN

Stack Overflow用户

发布于 2012-02-07 19:08:55

也许widget GtkEventBox会对你有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9174703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档