Kivy如何禁用右键生成红点功能且不影响拖拽滚动操作?
Kivy右键红点问题精准解决方案
以下方案均不会影响按住组件时的页面滚动功能,无需完全禁用多点触摸:
方案1:直接关闭触摸红点可视化(最贴合需求的原生配置)
这是专门控制红点显示的官方参数,仅隐藏触摸视觉效果,所有触摸交互逻辑完全不受影响,代码添加到程序入口最顶部即可:
from kivy.config import Config Config.set('input', 'touch_visualization', '0') # 部分Kivy版本需要调用write让配置生效 Config.write()
方案2:全局拦截右键触摸事件
如果需要保留其他触摸的红点显示,仅屏蔽右键触发的红点,可以绑定全局触摸过滤器拦截右键事件:
from kivy.core.window import Window def intercept_right_touch(window, touch): if touch.button == 'right': # 拦截右键触摸事件,不向下传递 return True return False Window.bind(on_touch_down=intercept_right_touch)
方案3:仅禁用鼠标模拟多点触摸
如果不需要用鼠标模拟多点触摸功能,可以修改鼠标输入配置,保留原生触摸设备的多点触摸支持:
from kivy.config import Config Config.set('input', 'mouse', 'mouse,disable_multitouch')
内容的提问来源于stack exchange,提问作者Utopion
相关产品推荐
相关产品推荐

