python - Kivy 切换按钮不稳定的行为
问题描述
试图将清单(实际上以 xml 表示)从 tkinter 翻译成 kivy。我放弃了使用 CheckBox 并切换到 ToggleButtons。这奏效了——在一种时尚之后。不幸的是,这些切换似乎是随机的未经检查或检查。我确定我犯了一个基本错误,但我看不到它。
import kivy
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.button import Button
from kivy.uix.label import Label
from kivy.uix.togglebutton import ToggleButton
from kivy.uix.gridlayout import GridLayout
class ButtonList(GridLayout):
def __init__(self, **kwargs):
super(ButtonList, self).__init__(**kwargs)
listRoot = [
"Controls",
"Ballast",
"Straps",
"Instruments",
"Trim",
"Canopy",
"Brake"
]
self.buttons = []
for child in listRoot:
b = ToggleButton(text=child, state="normal")
self.buttons.append(b)
self.add_widget(b)
submit = Button(text="Submit", on_press=self.on_submit)
self.add_widget(submit)
self.output = Label(text="Output")
self.add_widget(self.output)
def on_submit(self, instance):
out = "Selection: "
for i in self.buttons:
if i.state == "down":
out += i.text + " "
self.output.text = out
class ButtonListApp(App):
def build(self):
return ButtonList()
if __name__ == "__main__":
ButtonListApp().run()
和.kv
<ButtonList>:
cols: 1
我的意图是将我的程序的主要布局放入 kv 文件中,其中包含由这个 python 函数创建的两个清单(切换按钮列表)。但首先它需要自行停止检查和取消检查值。
[INFO ] [MTD ] </dev/input/event4> range touch major is 0 - 0
[INFO ] [MTD ] </dev/input/event10> range touch major is 0 - 0
[INFO ] [MTD ] </dev/input/event4> range touch minor is 0 - 0
[INFO ] [MTD ] </dev/input/event10> range touch minor is 0 - 0
由于它适用于 watney,并且我认为“范围触摸主要 0 - 0”看起来无效,因此我尝试了不同的鼠标垫。问题消失了。我猜 Kivy 或 Ubuntu 不喜欢我的鼠标。任何有关修复的建议都会有所帮助。
解决方案
推荐阅读
- javascript - 如何在所有浏览器都支持的 javascript 中编写 cookie 测试
- python - 我有一个数组 L 和一个数组 A 的列表。我需要找到 L 中的哪个数组最接近 A
- ios - 添加到gitignore文件后如何永久隐藏文件
- amazon-web-services - TeamCity:将 docker 镜像推送到 AWS ECR
- hyperledger-fabric - 超级账本结构
- c++ - 静态 OpenSSL *.a 库未链接目标二进制文件(使用带 SSL 的静态编译 Qt)
- javascript - 从http响应形成所需数据对象的正确方法是什么
- jquery - 如何停止 jquery 数据表排序搜索?
- amazon-web-services - 我需要将 aws rds 2019 证书导入到 glassfish 服务器吗
- javascript - 为什么单击后我的模态窗口没有关闭?