【发布时间】:2013-02-20 09:55:21
【问题描述】:
我正在使用 Kivy,这是一个 Python 库,但无法让滚动视图正常工作并将其组织到 .kv 文件中。
我有一个很大的系统,它被分解成许多 .py 和 .kv 文件。
我也在用kivy的屏幕管理器
ui_manager.py
#ui_manager.py
class UIManager():
_ScreenManager = None
def __init__(self, inScreenManager):
self.ScreenManager = inScreenManager # The main app constructs the manager, sends to me, then returns it as the root widget.
main.py
#main.py
class MyApp(App):
def build(self):
screenManager = ScreenManager()
uiManager = ui_manager.UIManager(screenManager)
return screenManager
显然我省略了一些代码,但这几乎就是发生的情况。
其中一个屏幕需要滚动。它将有一个长图形和许多按钮。 像往常一样,Kivy 文档只告诉我如何通过代码进行操作,而不是通过 kivy 语言(.kv 文件) http://kivy.org/docs/api-kivy.uix.scrollview.html
我想要一个OrangeWidget 类来保存滚动小部件,这样我以后可以使用它的数据。 这是我让有组织的滚动视图正常工作的最佳尝试
orange_widget.py
#orange_widget.py
class OrangeWidget(Screen):
pass
class OrangeGraphic(Widget):
pass
Orange.kv
<OrangeLineWidget>
ScrollView:
size_hint: (None, None)
size: (400, 1200)
OrangeLineGraphic:
pos: root.pos
<OrangeGraphic>
canvas:
Color:
rgba: 1, .5, 0, 1
Rectangle:
pos: self.center_x - 15, 0
size: 30, self.height * 2
Label:
text: "Hello"
我知道它很多,而且看起来组织得不太好,但我只是想弄清楚如何让这该死的东西正常工作。
这是当前结果:它不会滚动,并且无论出于何种原因,它都被“装箱”到右侧,而不是占据整个屏幕
【问题讨论】:
标签: python scrollview kivy