我很难理解布局和应用程序如何在 kivy 中协同工作。我正在尝试为基本的股票代码构建一个简单的用户界面。我的数据模块将返回当前价格的字典:xxx,最后价格:xxx,更改:xxx
我只是想在 kivy 中显示这些信息,让它通过时钟计划自动更新。我玩弄了一堆标签并让他们进行投票。那行得通,但我想不出一种干净的方法来格式化它们。我无法让 GridLayout 工作。
我现在正在尝试获取 ListView,但它不会在屏幕上显示任何内容。这让我发疯。有人有一个很好的演练,可以显示kivy的前端和后端的关系吗?文档并没有真正涉及到这一点,我也找不到任何代码示例。
这是我所拥有的(注意:ListWidget 的更新确实运行,我在控制台中看到它的输出,但在 ui 窗口中没有任何内容)。
class ListWidget(ListView):
def update(self, dt):
day = datetime.datetime.now().strftime('%d %S')
hour = datetime.datetime.now().strftime('%H %S')
print hour
self.data = [day, hour]
class MainView(GridLayout):
def __init__(self, **kwargs):
kwargs['cols'] = 2
kwargs['size_hint'] = (1.0, 1.0)
super(MainView, self).__init__(**kwargs)
class MainApp(App):
def build(self):
main = MainView()
list_widget = ListWidget()
list_widget.data = ['date', 'time']
main.add_widget(list_widget)
Clock.schedule_interval(main.children[0].update, 1)
return main
if __name__ == '__main__':
main = MainApp()
main.run()