我只是试图制作一个如下所示的小型hello world程序。为什么什么都没显示。
# File: main.py
from kivy.app import App
from kivy.lang import Builder
from kivy.base import runTouchApp
KV = '''
# File: clock.kv
<aClock@BoxLayout>:
orientation: 'vertical'
Label:
color: 1,0,1,1
text: '00:00:00'
<myClock> :
aClock:
'''
class myClock(App):
pass
if __name__ == '__main__':
Builder.load_string(KV)
myClock().run()
from kivy.app import App
from kivy.lang import Builder
KV = '''
<AClock@BoxLayout>:
orientation: 'vertical'
Label:
color: 1,0,1,1
text: '00:00:00'
AClock: # This is going to be the return value of Builder.load_string()
'''
class MyClock(App):
def build(self):
return Builder.load_string(KV)
if __name__ == '__main__':
MyClock().run()
App
不是小部件,所以您不能这样做:
<myClock> :
aClock:
并且在Kivy中,PEP8是约束而不是样式。所有Widgtes的类名必须以大写字母开头。因此aClock
必须为AClock
。
并且您应该实现build()
并使其返回小部件。 (不过,在某些情况下build()
不必返回小部件。)
# myclock.kv
<AClock@BoxLayout>:
orientation: 'vertical'
Label:
color: 1,0,1,1
text: '00:00:00'
AClock:
# main.py
from kivy.app import App
class MyClock(App):
pass
if __name__ == '__main__':
MyClock().run()