如何在 GTK3 和 Python 2.7 中的图像对象上创建“点击事件”
Posted
技术标签:
【中文标题】如何在 GTK3 和 Python 2.7 中的图像对象上创建“点击事件”【英文标题】:How can I create a 'Click Event' on Image object in GTK3 and Python 2.7 【发布时间】:2017-04-04 13:22:32 【问题描述】:我正在使用 Python 2.7 和 GTK3+ 和 Glade 在 Linux 下创建一个程序。我有一个 Image 对象,并希望在单击图像时运行一个方法。 这是对象
<object class="GtkImage" id="imageHiResVisual">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Click here to switch between British Isles Image and Ireland</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="stock">gtk-missing-image</property>
<signal name="button-press-event" handler="on_imageHiResVisual_button_press_event" swapped="no"/>
</object>
和事件处理程序
def on_imageHiResVisual_button_press_event(self, widget, data=None):
print "I am clicked!"
除了“按钮按下事件”之外,我找不到任何可能起作用的事件。 我有一些按钮在单击时可以正常工作,为什么单击图像时此方法不起作用?
【问题讨论】:
【参考方案1】:Gtk.Image
只是一个被动组件,它不会对按钮点击做出反应。最简单的做法是将其放在Gtk.EventBox
中并对事件框的点击做出反应。
【讨论】:
标题不需要加“SOLVED”;而是单击绿色复选标记。这给了我们俩一个奖励。 感谢您,我确实阅读了教程,但显然错过了重要的信息。我确实试图投票给你,但我还不允许投票。以上是关于如何在 GTK3 和 Python 2.7 中的图像对象上创建“点击事件”的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Python 和 Gtk3 中使用 Pango.AttrType.FOREGROUND?
如何使用 Cairo 和 Gtk3 在 GtkDrawingArea 中绘制一条线