【发布时间】:2016-12-21 07:42:54
【问题描述】:
这感觉像是一个愚蠢的问题,但在过去的几天里,我一直在上网,但对于看似非常简单的事情却无济于事。无论如何,我想要做的是拥有一个具有 RstDocument 叶子的 TreeView 小部件。现在,当我这样做时,我会得到一堆叶子,它们的窗口较小,与这个人相似:Kivy Making a Custom TreeViewNode
他们的解决方案对我不起作用,因为 RstDocument 对象没有与之关联的纹理对象。经过进一步研究,它似乎没有任何与此像素大小相关的属性,它继承的 ScrollView 布局也没有。试图找到这样的数字会给我提供 100 像素大小的东西,这不是正在显示的内容。
理想情况下,我试图让 RstDocument 在扩展时完全显示,以便最终用户滚动浏览树,折叠他们不需要的内容。我不需要 RstDocument 滚动,因为 ScrollView 已经在 TreeView 小部件上。
代码尽可能合法:
from kivy.app import App
from kivy.uix.treeview import TreeView
from kivy.uix.treeview import TreeViewLabel
from kivy.uix.treeview import TreeViewNode
from kivy.uix.scrollview import ScrollView
from kivy.uix.rst import RstDocument
class TreeViewRst (RstDocument,TreeViewNode):
pass
class TreeApp (App):
def build (self):
root = StackLayout()
scroll = ScrollView(pos = (0, 0),size_hint=(1,0.78))
body = TreeView(hide_root=True,indent_level=0,size_hint=(1,None))
body.bind(minimum_height=body.setter('height'))
intro = body.add_node(TreeViewLabel(text="Title",font_size=18))
intro_diag = body.add_node(TreeViewLabel(text="Article"))
body.add_node(TreeViewRst(source='lopsem.rst',size=(100,100)),parent=intro_diag)
scroll.add_widget(body)
root.add_widget(scroll)
return root
Window.size = (360,640)
tree = TreeApp()
tree.run()
还有结果图片:
【问题讨论】:
标签: android python treeview scrollview kivy