kivyに2つの小さなボタンがあるテキスト入力からなるスピンウィジェットを作成したいとします。テキスト入力に表示される値は、押されたボタンに応じて増減します。kivy Text Sliderからの動作を継承する
これは簡単な作業ですが、マウスのホイールで値を変更することもできます(カーソルがテキスト入力内にある場合は上下にスクロールします)。
テキスト入力にはこのような振る舞いがないので、スライダーのような別のウィジェットから何らかの形で振る舞いを継承することはできますか?もしそうなら、どのように達成されるでしょうか?
EDIT:要求されたよう
、これは今までのコードです:
from kivy.app import App
from kivy.uix.textinput import TextInput
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
class LoginScreen(BoxLayout):
def __init__(self, **kwargs):
super(LoginScreen, self).__init__(**kwargs)
self.orientation = 'horizontal'
self.container_Flow = BoxLayout(orientation = 'horizontal', size_hint = (1,1))
self.text_flow = TextInput(text='500', font_size=40, size_hint = (0.6,1))
self.button_plus = Button(text = '+', size_hint = (0.2,1))
self.button_minus = Button(text = '-', size_hint = (0.2,1))
self.container_Flow.add_widget(self.text_flow)
self.container_Flow.add_widget(self.button_plus)
self.container_Flow.add_widget(self.button_minus)
self.add_widget(self.container_Flow)
self.button_plus.bind(on_press = self.calc_plus)
self.button_minus.bind(on_press = self.calc_minus)
def calc_plus(self, button_plus):
Q = int(self.text_flow.text)
self.text_flow.text = str(Q + 25)
def calc_minus(self, button_minus):
Q = int(self.text_flow.text)
self.text_flow.text = str(Q - 25)
class MyApp(App):
def build(self):
return LoginScreen()
if __name__ == '__main__':
MyApp().run()
あなたのコードを示しています。 – eyllanesc