【发布时间】:2019-01-20 20:52:22
【问题描述】:
在下面的代码中,有一个按钮在按下时会显示一个包含 9 个值的下拉列表。 一旦我选择了这些选项之一,我想在 Python 上打印我选择的值是什么。 例如,如果我选择“Value 4”,在我选择“Value 4”的那一刻,这个值必须打印在我的代码中。
我发现了一些类似的问题,我提供了下面的链接,尽管它们都没有解决我的问题。 Python, Kivy. Get text from dynamically created buttons with a dropdown Retrieving values from a kivy dropdown widget
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.dropdown import DropDown
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.label import Label
class Test(App):
def build(self):
box = BoxLayout(orientation = 'vertical')
label = Label(text = 'LABEL')
button = Button(text='Selecione', font_size=30, size_hint_y=0.15 , on_release = self.lista)
box.add_widget(label)
box.add_widget(button)
return box
def lista(self, button):
dropdown = DropDown()
for index in range(10):
btn = Button(text='Value %d' % index, size_hint_y=None, height=44)
btn.text = 'Value %d' %index
btn.bind(on_release=lambda btn: dropdown.select(btn.text))
dropdown.add_widget(btn)
button.bind(on_release=dropdown.open)
dropdown.bind(on_select=lambda instance, x: setattr(button, 'text', x))
print(button.text)
Test().run()
我需要在下拉列表中打印所选“按钮”的文本。
【问题讨论】: