kivy 是否支持在 mouse_pos 更改时触发的 MouseEvent 无需按下鼠标按钮?
我在文档中发现:
Run Code Online (Sandbox Code Playgroud)def on_motion(self, etype, motionevent): # will receive all motion events. pass Window.bind(on_motion=on_motion)您还可以通过观察 mouse_pos 来监听鼠标位置的变化。
但是我无法实现它。我设法绑定它并添加到 on_motion 函数 'print('Hello world')' 但它仅由按下类型事件触发。
提前致谢
我正在尝试在项目的第一个屏幕的顶部添加一个操作栏。我尝试使用screenmanager小部件并发送操作栏,因为它的子项喜欢如何管理/获取两个屏幕。起初,我尝试在第一个屏幕的 root.widget 中添加操作栏代码,但他们将此类显示为无效类。
两者如何添加呢?即使我添加了,我也无法从上到下显示按钮orientation : 'vertical'
import kivy
kivy.require('1.10.1')
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout
from kivy.lang import Builder
from kivy.uix.gridlayout import GridLayout
from kivy.uix.screenmanager import ScreenManager,Screen,FadeTransition
class SomeLayout_GridLayout(Screen):
pass
class FirstScreen(Screen):
pass
class SecondScreen(Screen):
pass
class ScreenManager(ScreenManager):
pass
root_widget = Builder.load_string('''
ScreenManager:
FirstScreen:
SecondScreen:
SomeLayout_GridLayout:
<FirstScreen>:
name: 'first'
<SomeLayout_GridLayout>:
cols: 1
rows: 2
row_force_default: True
rows_minimum: {0: ActionBar.height, 1: self.height - ActionBar.height}
SomeMenu_ActionBar:
id: ActionBar
<SomeMenu_ActionBar@ActionBar>:
ActionView:
id: ActionView
ActionGroup: …Run Code Online (Sandbox Code Playgroud)