kivy .bind results in AssertionError: '' is not callable
kivy .bind results in AssertionError: '' is not callable
我正在使用 Kivy 和 Python 在 Linux 中编写 GUI。该程序应检测 USB 设备并使用该设备将图像编程到目标。这是我的代码片段:
这些是我试图检测 USB 设备的代码。这是一个文件,我们称之为 A.py.
busses = usb.busses()
for bus in busses:
devices = bus.devices
for dev in devices:
if (dev.idVendor == vendor and dev.idProduct == product):
obj = ProgJTAG.ProgJTAG(bus.dirname,dev.filename, dev.idVendor, dev.idProduct, dev)
break
当我运行程序时,在创建ProgJTAG实例时发生断言错误。这是在单独的文件 ProgJTAG.py 中定义的,如下所示:
class ProgJTAG(BoxLayout):
usb_bus = StringProperty('')
usb_dev = StringProperty('')
usb_vendor = StringProperty('')
usb_product = StringProperty('')
def __init__(self, _usb_bus, _usb_dev, _usb_vendor, _usb_product, dev):
super(ProgJTAG, self).__init__()
self.usb_bus = _usb_bus
self.usb_dev = _usb_dev
self.usb_vendor = str(_usb_vendor)
self.usb_product = str(_usb_product)
self.bind(usb_bus=self.usb_bus)
self.bind(usb_dev=self.usb_bus)
self.bind(usb_vendor=self.usb_bus)
self.bind(usb_product=self.usb_bus)
错误发生在行self.bind(usb_bus=self.usb_bus)。错误信息是 File "_event.pyx", kivy._event.EventDispatcher.bind(kivy/_event.c:5536)
AssertionError: '' 不可调用
Q1。任何人都可以帮助断言是什么意思?
Q2。我注意到 _usb_bus 和 _usb_dev 是空字符串。这个断言是因为 _usb_bus 和 _usb_dev 是空字符串 属性 因此不可调用?
是的,绑定时必须传递一个函数,因为绑定稍后会尝试调用它。
我正在使用 Kivy 和 Python 在 Linux 中编写 GUI。该程序应检测 USB 设备并使用该设备将图像编程到目标。这是我的代码片段:
这些是我试图检测 USB 设备的代码。这是一个文件,我们称之为 A.py.
busses = usb.busses()
for bus in busses:
devices = bus.devices
for dev in devices:
if (dev.idVendor == vendor and dev.idProduct == product):
obj = ProgJTAG.ProgJTAG(bus.dirname,dev.filename, dev.idVendor, dev.idProduct, dev)
break
当我运行程序时,在创建ProgJTAG实例时发生断言错误。这是在单独的文件 ProgJTAG.py 中定义的,如下所示:
class ProgJTAG(BoxLayout):
usb_bus = StringProperty('')
usb_dev = StringProperty('')
usb_vendor = StringProperty('')
usb_product = StringProperty('')
def __init__(self, _usb_bus, _usb_dev, _usb_vendor, _usb_product, dev):
super(ProgJTAG, self).__init__()
self.usb_bus = _usb_bus
self.usb_dev = _usb_dev
self.usb_vendor = str(_usb_vendor)
self.usb_product = str(_usb_product)
self.bind(usb_bus=self.usb_bus)
self.bind(usb_dev=self.usb_bus)
self.bind(usb_vendor=self.usb_bus)
self.bind(usb_product=self.usb_bus)
错误发生在行self.bind(usb_bus=self.usb_bus)。错误信息是 File "_event.pyx", kivy._event.EventDispatcher.bind(kivy/_event.c:5536) AssertionError: '' 不可调用
Q1。任何人都可以帮助断言是什么意思?
Q2。我注意到 _usb_bus 和 _usb_dev 是空字符串。这个断言是因为 _usb_bus 和 _usb_dev 是空字符串 属性 因此不可调用?
是的,绑定时必须传递一个函数,因为绑定稍后会尝试调用它。