Пожалуйста, прости, если мой вопрос задан неправильно, я новичок в этом вопросе. В моем файле python есть функция обратного вызова для моих переключателей, которую я создаю в своем файле .kv.
from kivy.app import App
from kivy.uix.pagelayout import PageLayout
class PageLayout(PageLayout):
statusMsg = 'Empty Status.'
def switch_callback(self, switchObject, switchValue):
#Switch values are True and False
if(switchValue):
statusMsg = '{0} enabled'.format(switchObject)
print(statusMsg)
else:
statusMsg = '{0} disabled'.format(switchObject)
print(statusMsg)
return statusMsg
def __init__(self):
super(PageLayout, self).__init__()
class myGUI(App):
def build(self):
return PageLayout()
if __name__ == "__main__":
myGUI().run()
Файл Kivy (мой GUI .kv):
<PageLayout>:
BoxLayout:
BoxLayout:
Label:
text: 'TestLabel'
Switch:
id: switchCal
active: False
on_active: root.switch_callback(*args)
Теперь я могу напечатать аргумент вызываемого объекта, но не идентификатор. Должен ли я использовать другую переменную, или идентификатор не передается с * args? Моя оболочка выглядит так:
<kivy.uix.switch.Switch object at 0x1111B258> enabled
Я пробовал switchObject.id, но он не работает. Заранее спасибо!