Python kivy文本输入从滑块继承行为

Python kivy文本输入从滑块继承行为,python,inheritance,kivy,Python,Inheritance,Kivy,我希望在kivy中创建一个微调器小部件,它由一个带有两个小按钮的文本条目组成。文本条目中显示的值将增加或减少,具体取决于按下的按钮 这是一项简单的任务,但我希望用鼠标滚轮更改值(当光标位于文本条目内时上下滚动) 既然文本条目没有这样的行为,那么是否可以从另一个小部件(如slider)继承该行为?如果是,将如何实现 编辑: 根据要求,这是迄今为止的代码: from kivy.app import App from kivy.uix.textinput import TextInput from k

我希望在kivy中创建一个微调器小部件,它由一个带有两个小按钮的文本条目组成。文本条目中显示的值将增加或减少,具体取决于按下的按钮

这是一项简单的任务,但我希望用鼠标滚轮更改值(当光标位于文本条目内时上下滚动)

既然文本条目没有这样的行为,那么是否可以从另一个小部件(如slider)继承该行为?如果是,将如何实现

编辑:

根据要求,这是迄今为止的代码:

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()

显示您的代码。
#Here is an example.

from kivy.uix.boxlayout import BoxLayout
from kivy.uix.textinput import TextInput
from kivy.app import App

class Example(BoxLayout):

    def __init__(self, **kwargs):
        super(Example, self).__init__(**kwargs)

        self.orientation = 'horizontal'
        self.layout = BoxLayout(orientation = 'horizontal', size_hint = (1,1))
        self.text = MyText(text= '500', font_size=40, size_hint = (0.6,0.5), multiline=True)

        self.layout.add_widget(self.text)

        self.add_widget(self.layout)


class MyText(TextInput): # MyText inherits from TextInput class
    def on_touch_down(self, touch): # method to see if mouse is down/moving
        if self.collide_point(*touch.pos): # only works if in the textinput region
            if touch.button == 'scrollup': #check mouse wheel up
                self.calc_plus()
            elif touch.button == 'scrolldown': #check mouse wheel down
                self.calc_minus()
    def calc_plus(self):
        Q = int(self.text)
        self.text = str(Q + 25)
    def calc_minus(self):
        Q = int(self.text)
        self.text = str(Q - 25)

class Test(App):
    def build(self):
        return Example()

if __name__ == '__main__':
    Test().run()