내 문제는 위의 예제를 실행하려고 할 때 작동하지 않는다는 것입니다. 입니다 무슨 일이 팝업 텍스트 "테스트"한 번 나타나 나는 다시 버튼을 클릭 할 때이 오류를 보여줍니다Kivy 위젯 오류 추가
File "/home/river/android-sdk/workplace/python-forandroid/build/pythoninstall/lib/python2.7/site-packages/kivy/uix/layout.py", line 76, in add_widget
File "/home/river/android-sdk/workplace/python-for-android/build/python-install/lib/python2.7/site-packages/kivy/uix/widget.py", line 314, in add_widget
kivy.uix.widget.WidgetException: Cannot add <kivy.uix.boxlayout.BoxLayout object at 0x60a25a78>, it already has a parent <kivy.uix.boxlayout.BoxLayout object at 0x60e2bae8>
가 나는 이유 존재가 난 후 위젯을 제거해야한다는 생각을 각 클릭. 당신이 대답하면, 전체 코드를 보여주십시오
import kivy
import kivy.uix.label
import kivy.app
import kivy.lang.builder
textshow = BoxLayout()
def answer(answer):
text = Label(text=str(answer))
textshow.add_widget(text)
Builder.load_string('''
<main>:
Button:
on_release: root.show()
''')
class main(BoxLayout):
def show(self):
answer("test")
popup = Popup(content=textshow)
popup.open()
class apprun(App):
def build(self):
return main()
apprun().run()
(나는 방법을 잘 모릅니다).
편집 :이 샘플 스크립트입니다, 내 진짜 스크립트는이 클래스 화면 1을 가지고 있으며, textshow = BoxLayout에서는() 클래스
Inclements 대답했다,하지만 버튼을 클릭 할 때마다 다른 textshow하게! 도와주세요!
이 방법은 여전히 함수 매개 변수 (대답)를 사용합니까? 즉흥적으로 스크립트를 보여줄 수 있습니까? – Kogan007
신경 쓰지 마라, 나는 일하도록했다. 그러나 지금, 그리고 이것은 들썩 들썩하다. 버튼을 클릭 할 때마다 1 개의 텍스트 쇼를 추가하고있다. – Kogan007
여전히 여러 textshows에 대한 답변이 필요합니다. – Kogan007