【发布时间】:2019-05-20 08:29:16
【问题描述】:
我想在 boxlayout 中添加按钮,但我的代码中存在一些问题。当我单击添加按钮或删除按钮时,我收到 AttributeError 消息。 谢谢你帮助我。
我的python代码:
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.screenmanager import Screen, ScreenManager
class MainScreen(Screen):
pass
class SecondScreen(Screen):
pass
class ScreenManagement(ScreenManager):
pass
class TestApp(App):
def build(self):
self.title = 'Hello'
def add_more(self):
print('test')
addbutton = self.root.ids.abc
addbutton.add_widget(Button(text='hello'))
def remove(self):
print('test')
if len(self.root.ids.abc.children) > 0:
self.root.ids.abc.remove_widget(self.root.ids.abc.children[0])
if __name__=='__main__':
TestApp().run()
我的kv码:
#: import SwapTransition kivy.uix.screenmanager.SwapTransition
ScreenManagement:
transition: SwapTransition()
MainScreen:
SecondScreen:
<MainScreen>:
BoxLayout:
id:aaa
Button:
text: 'Add'
on_press: app.add_more()
Button:
text:'Remove'
on_press: app.remove()
BoxLayout:
id:abc
<SecondScreen>:
AttributeError: 'super' 对象没有属性 'getattr'
【问题讨论】:
标签: python python-3.x kivy