AttributeError: 'super' object has no attribute '__getattr__' in kivy .kv file
AttributeError: 'super' object has no attribute '__getattr__' in kivy .kv file
不过,这太烦人了,kv-kivy-this-that-error,呃......
无论如何,我似乎没有得到 kivy,好吧,我还在玩 .kv 文件
并且烦人而缓慢地放弃了它的'typical'响应
AttributeError: 'super' object has no attribute '__getattr__'
我感到目瞪口呆这是什么,为什么是 KIVY-无论如何我必须给出一些东西来展示真正发生的事情
PYTHON
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.lang import Builder
from kivy.uix.textinput import TextInput
from kivy.uix.label import Label
Builder.load_file("my.kv")
class MyLayout(Widget,App):
def __init__(self,*args,**kwargs):
super(MyLayout, self).__init__(**kwargs)
def clear(self):
self.ids.n.text = ""
self.ids.fp.text = ""
self.ids.d.text = ""
def writeD(self):
name = self.ids.n.text
pizza = self.ids.fp.text
drinks = self.ids.d.text
orders = open("order.txt","w")
orders.write(f"Name: {name}\n")
orders.write(f"Pizza: {pizza}\n")
orders.write(f"Drinks: {drinks}")
def read(self):
orders = open("order.txt","r")
orderL = orders.read()
self.ids.layout.add_widget(Label(text=orderL))
class AwesomeApp(App):
def build(self):
return MyLayout()
if __name__ == '__main__':
AwesomeApp().run()
是的,就像是——
.kv
<Button>
font_size:20
<TextInput>
font_size:20
<Label>
font_size:20
<MyLayout>
BoxLayout:
id: "layout"
orientation:"vertical"
size: root.width,root.height
padding:10
spacing:10
Label:
text:"Name"
TextInput:
id: n
multiline:False
Label:
text:"Pizza"
TextInput:
id: fp
multiline:False
Label:
text:"Drinks"
TextInput:
id: d
multiline:False
Button:
text:"Submit"
on_press:root.writeD()
Button:
text:"Clear fields"
on_press:root.clear()
Button:
text:"show orders"
on_press:root.read()
是的,又是一个属性错误
任何人都可以 help.PYTHON
在您的 kv
文件中,ids
不应是字符串。尝试更改:
id: "layout"
至:
id: layout
不过,这太烦人了,kv-kivy-this-that-error,呃...... 无论如何,我似乎没有得到 kivy,好吧,我还在玩 .kv 文件 并且烦人而缓慢地放弃了它的'typical'响应
AttributeError: 'super' object has no attribute '__getattr__'
我感到目瞪口呆这是什么,为什么是 KIVY-无论如何我必须给出一些东西来展示真正发生的事情 PYTHON
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.lang import Builder
from kivy.uix.textinput import TextInput
from kivy.uix.label import Label
Builder.load_file("my.kv")
class MyLayout(Widget,App):
def __init__(self,*args,**kwargs):
super(MyLayout, self).__init__(**kwargs)
def clear(self):
self.ids.n.text = ""
self.ids.fp.text = ""
self.ids.d.text = ""
def writeD(self):
name = self.ids.n.text
pizza = self.ids.fp.text
drinks = self.ids.d.text
orders = open("order.txt","w")
orders.write(f"Name: {name}\n")
orders.write(f"Pizza: {pizza}\n")
orders.write(f"Drinks: {drinks}")
def read(self):
orders = open("order.txt","r")
orderL = orders.read()
self.ids.layout.add_widget(Label(text=orderL))
class AwesomeApp(App):
def build(self):
return MyLayout()
if __name__ == '__main__':
AwesomeApp().run()
是的,就像是—— .kv
<Button>
font_size:20
<TextInput>
font_size:20
<Label>
font_size:20
<MyLayout>
BoxLayout:
id: "layout"
orientation:"vertical"
size: root.width,root.height
padding:10
spacing:10
Label:
text:"Name"
TextInput:
id: n
multiline:False
Label:
text:"Pizza"
TextInput:
id: fp
multiline:False
Label:
text:"Drinks"
TextInput:
id: d
multiline:False
Button:
text:"Submit"
on_press:root.writeD()
Button:
text:"Clear fields"
on_press:root.clear()
Button:
text:"show orders"
on_press:root.read()
是的,又是一个属性错误 任何人都可以 help.PYTHON
在您的 kv
文件中,ids
不应是字符串。尝试更改:
id: "layout"
至:
id: layout