Kivy:删除右键创建的红点

Posted

技术标签:

【中文标题】Kivy:删除右键创建的红点【英文标题】:Kivy: Remove the red dot creation on right clic 【发布时间】:2021-10-30 02:33:20 【问题描述】:

使用 Pyinstaller 在 Windows 上创建 kivy exe 时,我仍然可以右键创建红点。

Why does right-clicking create an orange dot in the center of the circle? 建议使用它来消除这种行为。

from kivy.config import Config
Config.set('input', 'mouse', 'mouse,multitouch_on_demand')

但是当我这样做时,如果我一直按下小部件,我将无法在我的页面上滚动。 难道没有更精确的东西,比如deactivate_red_dot,而不是似乎有副作用的deactivated_multitouch?也许我们可以覆盖Mouse() 的一个方法?

【问题讨论】:

我使用Config.set('input', 'mouse', 'mouse,disable_multitouch')。试试看。 没有按预期工作。 但感谢您的帮助,您已经帮了我很多时间! :) 【参考方案1】:

venv/Lib/site_packages/kivy/input/providers/mouse.py

方法on_mouse_press

替换

do_graphics = (not self.disable_multitouch) and (
                button != 'left' or 'ctrl' in modifiers)

通过 do_graphics = False

我不确定我是否不会产生其他副作用,但从我在代码中看到的行为来看,这似乎是合法的。

编辑: 实际上,对于我的项目,禁用 multitouchh 的错误是在 android 上,所以我这样做了:

if isWindows():
    from kivy.config import Config
    Config.set('input', 'mouse', 'mouse,disable_multitouch')

好的一面,不会改变基础库。不好的一面,禁用多点触控可能会导致其他鬼鬼祟祟的错误。

【讨论】:

以上是关于Kivy:删除右键创建的红点的主要内容,如果未能解决你的问题,请参考以下文章

自定义 BarButtonItem 项:在右上角添加红点,Swift 4 IOS

删除文档中的 U+200B 零宽度空格字符(Typora显示红点)

删除文档中的 U+200B 零宽度空格字符(Typora显示红点)

游戏开发实战手把手教你在Unity中使用lua实现红点系统(前缀树 | 数据结构 | 设计模式 | 算法 | 含工程源码)

游戏开发实战手把手教你在Unity中使用lua实现红点系统(前缀树 | 数据结构 | 设计模式 | 算法 | 含工程源码)

为啥我的Androidstudio创建project没有xml和.java文件,而且好多红点?