【发布时间】:2020-04-25 14:37:30
【问题描述】:
我是 Kivy 的新手,我只是在学习用几个屏幕构建一个简单的东西。我看了 Kivy Crash Course 视频并想出了以下代码:
Python 文件如下所示(main.py):
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.tabbedpanel import TabbedPanel
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.graphics.context_instructions import Color
from kivy.uix.label import Label
from kivy.lang.builder import Builder
class sivaLoginScreen(Screen):
def __init__(self,**kwargs):
super(sivaLoginScreen,self).__init__(**kwargs)
with self.canvas.before:
Color(253,253,152,1)
class sivaTabbedScreen(Screen):
pass
class sivaScreenManager(ScreenManager):
pass
# Tell Kivy to directly load a file. If this file defines a root widget, it will be returned by the method.
root_widget = Builder.load_file('siva.kv')
class sivaApp(App):
def build(self):
# Initialize root widget
return root_widget
if __name__ == '__main__':
# Run application
sivaApp().run()
kv 文件看起来像这样 (siva.kv):
sivaScreenManager:
sivaLoginScreen:
<sivaLoginScreen>:
name: 'login_screen'
canvas.before:
Color:
rgba: 253, 253, 152, 1
FloatLayout:
Label:
id: login_label
pos: 100, 100
text: 'S.I.V.A'
font_size: '20sp'
当我使用python3 main.py 运行应用程序时,我得到一个黑色的空白屏幕。
我期待一个带有标签的彩色屏幕。你能帮我理解我哪里出错了吗?
【问题讨论】:
标签: python-3.x kivy kivy-language