0
私のpythonプログラムのGUIツールとしてkivyを使用しています。 テーブルを作成したいとき、選択値を簡単にするためのドロップダウンリストを含む列があります。 しかし、正しく動作させることはできません。 以下は私のコードです。kivyドロップダウンリストを作成しますが、その一部だけを開くことができます
import kivy
kivy.require('1.10.0')
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.button import Button
from kivy.uix.dropdown import DropDown
from kivy.uix.gridlayout import GridLayout
sel =["A","B","C"]
class MyGrid(GridLayout):
def __init__(self, **kwargs):
super(MyGrid, self).__init__(**kwargs)
self.redraw()
def redraw(self):
self.clear_widgets()
self.rows = 5
self.cols =2
for i in range(5):
label = Label(text="cell"+str(i+1))
self.add_widget(label)
drpName = DropDown()
btnName = Button(text="B",size_hint=(None, None))
for e in sel:
btn=Button(text=e, size_hint_y=None, height=btnName.height)
btn.bind(on_release=lambda btn:drpName.select(btn.text))
drpName.add_widget(btn)
btnName.bind(on_release=drpName.open)
drpName.bind(on_select=lambda instance, x: setattr(btnName, 'text', x))
self.add_widget(btnName)
class testApp(App):
def build(self):
return MyGrid()
if __name__=="__main__":
testApp().run()
ボタンの一部だけがプルダウンリストを開き、選択された値のすべてが最後のボタンのテキストに置き換わります。 私を助けてくれますか?前もって感謝します。