Kivy添加小部件E

2024-06-08 21:04:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我的问题是,当我想运行上面的示例时,它将不起作用。 发生的情况是,弹出窗口显示一次文本“test”,然后当我再次单击按钮时,它显示错误:

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>

我想原因是每次点击后我都要删除小部件。 我不知道怎么做

^{pr2}$

如果你回答这个,请显示整个代码。在

编辑:这是一个示例脚本,我的真实脚本有两个类Screen1,并且 textshow=BoxLayout()类

包括答案工作,但每点击一次按钮,另一个文本显示!请帮忙!在


Tags: 文本buildadd示例homesdkwidget按钮
1条回答
网友
1楼 · 发布于 2024-06-08 21:04:28

一个简单的答案是存储弹出窗口,每次都使用sme。例如,可以将self.popup = Popup(content=textshow)放入build方法中,然后将show方法改为App.get_running_app().popup.open()。这将始终打开单个保存的弹出窗口,以避免该问题。在

相关问题 更多 >