kivy支持在MouseEvent上触发的mouse_pos更改而不按鼠标按钮吗?
我在文档中发现:
def on_motion(self,etype,motionevent):#将接收所有的运动事件。通过Window.bind(on_motion=on_motion) 您还可以通过观看mouse_pos.来收听鼠标位置的变化。
然而,我无法实现它。我成功地将其绑定并添加到on_motion函数'print('Hello‘),但它仅由按下类型事件触发。
提前感谢
发布于 2018-07-15 03:05:41
解决方案
将mouse_pos绑定到回调。详情请参阅示例。
Window.bind(mouse_pos=self.mouse_pos)示例
main.py
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.label import Label
from kivy.core.window import Window
class MousePosDemo(BoxLayout):
def __init__(self, **kwargs):
super(MousePosDemo, self).__init__(**kwargs)
self.label = Label()
self.add_widget(self.label)
Window.bind(mouse_pos=self.mouse_pos)
def mouse_pos(self, window, pos):
self.label.text = str(pos)
class TestApp(App):
title = "Kivy Mouse Pos Demo"
def build(self):
return MousePosDemo()
if __name__ == "__main__":
TestApp().run()输出

发布于 2018-07-14 22:37:10
你真的想做:
Window.bind(mouse_pos=on_motion)https://stackoverflow.com/questions/51342055
复制相似问题