Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在kivy中使用scrollview内部的按钮行为?_Python_Kivy - Fatal编程技术网

Python 如何在kivy中使用scrollview内部的按钮行为?

Python 如何在kivy中使用scrollview内部的按钮行为?,python,kivy,Python,Kivy,我试图弄清楚如何使标签具有按钮的属性,而标签本身是可滚动的。 我尝试了几种不同的方法,但都没有成功,这是我目前的代码,我的最终目标是将每个数字都作为一个单独的“可点击”实体,但现在如果我能找出如何使整个标签具有按钮的属性,那就足够了 我的代码: import kivy from kivy.app import App from kivy.lang import Builder from kivy.uix.gridlayout import GridLayout from kivy.uix.but

我试图弄清楚如何使标签具有按钮的属性,而标签本身是可滚动的。 我尝试了几种不同的方法,但都没有成功,这是我目前的代码,我的最终目标是将每个数字都作为一个单独的“可点击”实体,但现在如果我能找出如何使整个标签具有按钮的属性,那就足够了

我的代码:

import kivy
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.gridlayout import GridLayout
from kivy.uix.button import Button
from kivy.uix.widget import Widget
from kivy.properties import NumericProperty
from kivy.clock import Clock
from kivy.properties import ListProperty
from kivy.properties import StringProperty
from kivy.uix.scrollview import ScrollView
from kivy.uix.button import ButtonBehavior
from kivy.uix.label import Label

class Testime(Widget):

    pass

class loendtest(App):
    tulemus = NumericProperty()
    loend = ListProperty()
    loend2 = StringProperty()
    loend3 = StringProperty()

    def build(self):

        return Testime()
if __name__ == "__main__":
    loendtest().run()
:
网格布局:
科尔斯:3
大小:root.size
按钮:
文本:“添加结果”
新闻界:
app.tulemus+=1
app.loend.append(app.tulemus)
打印(应用程序tulemus)
打印(app.loend)
app.loend2=“”+str(app.loend).strip(“[]”)替换(“,”,“\n”)
打印(app.loend2.split())
app.loend3=“”+str(app.loend2.split()).strip(“[]”)。替换(“,”,“\n”)
打印(app.loend3)
滚动视图:
标签:
尺寸提示:2
字体大小:75
文本大小:无,自我高度
valign:“顶部”
正文:
app.loend3

只需创建一个自定义的
标签
,其作用类似于按钮:

类MyButtonLabel(按钮行为,标签):
通过
。。。并用它替换您的
标签

或者,您可以在
kv
侧执行此操作,如下所示:


<Testime>:
    GridLayout:
        cols:3
        size: root.size
        Button:
            text: "add a result"
            on_press:
                app.tulemus += 1
                app.loend.append(app.tulemus)
                print(app.tulemus)
                print(app.loend)
                app.loend2 = " " + str(app.loend).strip('[]').replace(',', '\n')
                print(app.loend2.split())
                app.loend3 = " " + str(app.loend2.split()).strip('[]').replace(',', '\n')
                print(app.loend3)
        ScrollView:
            Label:
                size_hint_y: 2
                font_size: 75
                text_size: None, self.height
                valign: "top"

                text:
                    app.loend3