python - Kivy:GridLayout 内的水平滚动标签

标签 python scroll kivy

我正在尝试改编 ScrollView doc 中的代码在 GridLayout 内的水平轴上获得可滚动标签。 GridLayout 不应该可滚动,而只能滚动其中的标签。

对于我的应用程序,我无法使用 kv 语言(无论是在 .kv 还是构建器中),因此代码必须使用 python。

from kivy.uix.gridlayout import GridLayout
from kivy.uix.label import Label
from kivy.uix.scrollview import ScrollView
from kivy.app import runTouchApp

layout = GridLayout(cols=1, spacing=10)

for i in range(10):
    label = Label(text="abcdefghijklmnopqrstuvwxyz_abcdefghijklmnopqrstuvwxyz_abcdefghijklmnopqrstuvwxyz_abcdefghijklmnopqrstuvwxyz_abcdefghijklmnopqrstuvwxyz_abcdefghijklmnopqrstuvwxyz", height = 30, size_hint_x=None, width=400)
    label.bind(minimum_width=label.setter('width'))
    root = ScrollView(size_hint=(None, 1), size=(label.width, label.height))
    root.add_widget(label)
    layout.add_widget(root)


runTouchApp(layout)

最佳答案

到目前为止,这是有效的:

import kivy

from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.uix.button import Button
from kivy.uix.popup import Popup
from kivy.uix.label import Label
from kivy.uix.scrollview import ScrollView

class Test(App):
    def build(self):
        layout  = GridLayout (cols=3)
        for i in range(3):
            l = Label(font_size=15, size_hint_x= None, width=300, text="This is a very looooooooooooooooooooonnnnnnnnnnnnnnnnnnnng text. Indeed it is a very loooooooooooooooooooooonnnnnnnnnnnnnnnng text")
            l.bind(size_hint_min_x=l.setter('width'))
            scroll = ScrollView(size_hint=(None, None), size=(100, 400), pos_hint={'center_x':.5, 'center_y':.5})
            scroll.add_widget(l)

            layout.add_widget(scroll)
        return layout


Test().run()

关于python - Kivy:GridLayout 内的水平滚动标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42608890/

相关文章:

python - 如何从python中的地址获取值

python - 从 sqlite 查询中删除格式

php - 在 Web 应用程序中使用 TensorFlow 模型

python - 如何在每次数据变化时刷新kivy RecycleView?

python - Kivy - InputText 的限制值

python - 通过 Pi 与 python 之间的套接字通信 (TCP/IP) 发送传感器数据

javascript - 有什么方法可以加快根据滚动调整的元素的放置速度?

python - 为什么 QTreeView.scrollTo() 最初不工作

javascript - Jquery检测滚动条是否在顶部

python - 在 centos 7 上使用 SDL2 运行 kivy 1.9.1