Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.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小部件同时格式化和更新_Python_User Interface_Kivy - Fatal编程技术网

Python 让kivy小部件同时格式化和更新

Python 让kivy小部件同时格式化和更新,python,user-interface,kivy,Python,User Interface,Kivy,我很难理解kivy中的布局和应用程序是如何协同工作的。我正在尝试为一个基本的股票行情器构建一个简单的用户界面。我的数据模块将返回当前价格的字典:xxx,最后价格:xxx,更改:xxx 我只想在kivy中显示这些信息,让它通过时钟表自动更新。我和一堆标签打交道,让他们投票。这很管用,但我找不出一个清晰的方式来格式化它们。我无法让GridLayout工作 我现在尝试获取ListView,但它在屏幕上不显示任何内容。这简直让我发疯。是否有人有一个很好的演练,展示了前端和后端在kivy上的关系?文档并没

我很难理解kivy中的布局和应用程序是如何协同工作的。我正在尝试为一个基本的股票行情器构建一个简单的用户界面。我的数据模块将返回当前价格的字典:xxx,最后价格:xxx,更改:xxx

我只想在kivy中显示这些信息,让它通过时钟表自动更新。我和一堆标签打交道,让他们投票。这很管用,但我找不出一个清晰的方式来格式化它们。我无法让GridLayout工作

我现在尝试获取ListView,但它在屏幕上不显示任何内容。这简直让我发疯。是否有人有一个很好的演练,展示了前端和后端在kivy上的关系?文档并没有真正讨论这个问题,我也找不到任何代码示例

这里是我所拥有的(注意:ListWidget的更新确实在运行,我在控制台中看到它的输出,但在ui窗口中没有任何内容)


我知道这个问题很老了,但这里是修改后的代码,即在小部件上添加一个带有当前值的标签,也许这对某人有帮助

类ListWidget(ListView):
def更新(自我,dt):
day=datetime.now().strftime(“%d%S”)
小时=日期时间.now().strftime(“%H%S”)
印刷时间
self.clear_widgets()
self.add_小部件(标签(文本=小时),0)
self.data=[天,小时]
类主视图(网格布局):
定义初始(自我,**kwargs):
kwargs['cols']=2
kwargs['size_hint']=(1.0,1.0)
超级(主视图,自我)。\uuuuu初始化(**kwargs)
类主应用程序(应用程序):
def生成(自):
main=MainView()
list_widget=ListWidget()
list_widget.data=['date','time']
main.add_小部件(列表_小部件)
Clock.schedule\u interval(main.children[0]。更新,1)
回水干管
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
main=MainApp()
main.run()

重新调整窗口大小是否会更新视图?似乎不会,但我会在有机会时重新查看代码。
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()