【发布时间】:2010-04-28 00:07:09
【问题描述】:
我在 PyGtk+ 中编写了一个 Gnome 窗口切换器小程序,使用菜单项来表示在桌面上运行的不同应用程序。我想做的一件事是当我将鼠标悬停在菜单栏上时激活光标下的菜单项。我可以连接到菜单栏上的“enter-notify-event”,但我不知道它何时被触发。
这是我的问题,当我将鼠标悬停在其父项上时,如何打开菜单栏的子菜单?
【问题讨论】:
我在 PyGtk+ 中编写了一个 Gnome 窗口切换器小程序,使用菜单项来表示在桌面上运行的不同应用程序。我想做的一件事是当我将鼠标悬停在菜单栏上时激活光标下的菜单项。我可以连接到菜单栏上的“enter-notify-event”,但我不知道它何时被触发。
这是我的问题,当我将鼠标悬停在其父项上时,如何打开菜单栏的子菜单?
【问题讨论】:
这应该可以解决问题:
event = gtk.gdk.Event(gtk.gdk.BUTTON_RELEASE)
event.window = enter_event.window
event.x = enter_event.x
event.y = enter_event.y
event.button = 1
menu.emit('button_release_event', event)
它将创建一个新的事件对象,使用您的enter-notify-event 中的enter_event 设置它,然后在您的menu 上发出它。
您可以在此处阅读有关活动的更多信息:
http://www.pygtk.org/docs/pygtk/class-gdkevent.html
【讨论】:
可以在进入的位置模拟点击事件。
【讨论】: