本文整理汇总了Python中horizons.gui.widgets.imagebutton.ImageButton.mapEvents方法的典型用法代码示例。如果您正苦于以下问题:Python ImageButton.mapEvents方法的具体用法?Python ImageButton.mapEvents怎么用?Python ImageButton.mapEvents使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类horizons.gui.widgets.imagebutton.ImageButton
的用法示例。
在下文中一共展示了ImageButton.mapEvents方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: draw_widget
# 需要导入模块: from horizons.gui.widgets.imagebutton import ImageButton [as 别名]
# 或者: from horizons.gui.widgets.imagebutton.ImageButton import mapEvents [as 别名]
def draw_widget(self):
"""
Updates whole messagewidget (all messages): draw icons.
Inactive messages need their icon hovered to display their text again
"""
button_space = self.widget.findChild(name="button_space")
button_space.removeAllChildren() # Remove old buttons
for index, message in enumerate(self.active_messages):
if (self.item + index) >= len(self.active_messages):
# Only display most recent notifications
continue
button = ImageButton()
button.name = str(index)
button.path = message.path
# show text on hover
events = {
button.name + "/mouseEntered": Callback(self.show_text, index),
button.name + "/mouseExited": self.hide_text,
}
# init callback to something callable to improve robustness
callback = Callback(lambda: None)
if message.x is not None and message.y is not None:
# move camera to source of event on click, if there is a source
callback = Callback.ChainedCallbacks(
callback, # this makes it so the order of callback assignment doesn't matter
Callback(self.session.view.center, message.x, message.y),
Callback(self.session.ingame_gui.minimap.highlight, (message.x, message.y) )
)
if message.type == "logbook":
# open logbook to relevant page
callback = Callback.ChainedCallbacks(
callback, # this makes it so the order of callback assignment doesn't matter
Callback(self.session.ingame_gui.logbook.show, message.created)
)
if callback:
events[button.name] = callback
button.mapEvents(events)
button_space.addChild(button)
button_space.resizeToContent()
self.widget.size = button_space.size