4
我收到以下错误在我Kivy应用程序,但我不知道为什么,以及如何解决它:基本上Kivy“NoneType”对象有没有属性“IDS”
File "main.py", line 16, in __init__
self.seq_text_box = self.parent.ids.seq_text_box
AttributeError: 'NoneType' object has no attribute 'ids'
,所有我想要做的是访问MenuBar
类的方法中的文本框。我对此很陌生,所以很可能我误解了一些东西。
.py文件
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.textinput import TextInput
class SequenceTextBox(TextInput):
pass
#...
class MenuBar(BoxLayout):
def __init__(self, **kwargs):
super(MenuBar, self).__init__(**kwargs)
self.seq_text_box = self.parent.ids.seq_text_box
def go(self):
print(self.seq_text_box.text)
class MinuRoot(BoxLayout):
pass
class MinuApp(App):
pass
if __name__ == '__main__':
MinuApp().run()
.kv文件
MinuRoot:
<MinuRoot>:
orientation: "vertical"
MenuBar
SequenceTextBox
id: seq_text_box
<MenuBar>:
height: "40dp"
size_hint_y: None
Button:
text: "Go!"
on_press: root.go()
<SequenceTextBox>:
focus: True
我感谢你的帮助:)