python - 无法使用 kivy.lang.Builder 构建 .kv 文件。显示属性错误
问题描述
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
from kivy.uix.gridlayout import GridLayout
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.button import Button
from kivy.uix.widget import Widget
from kivy.properties import ObjectProperty
from kivy.uix.popup import Popup
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager,Screen
kv=Builder.load_file('my.kv')
class first(Screen):
pass
class second(Screen):
pass
class windowmanager(ScreenManager):
pass
class myapp(App):
def build(self):
return kv
if __name__=="__main__":
myapp().run()
[警告] [Lang ] 文件 C:\Users\Jawahar\Documents\ml实习\my.kv 被多次加载,您可能会有不想要的行为。回溯(最近一次通话最后):
文件“”,第 1 行,在 kv=Builder.load_file('my.kv')
文件“C:\Users\Jawahar\AppData\Local\Continuum\anaconda3\lib\site-packages\kivy\lang\builder.py”,第 301 行,在 load_file return self.load_string(data, **kwargs)
文件“C:\Users\Jawahar\AppData\Local\Continuum\anaconda3\lib\site-packages\kivy\lang\builder.py”,第 399 行,在 load_string widget = Factory.get(parser.root.name)( __no_builder=真)
文件“C:\Users\Jawahar\AppData\Local\Continuum\anaconda3\lib\site-packages\kivy\factory.py”,第 130 行,在getattr raise AttributeError
属性错误
#kv 文件
windowmanager:
first:
second:
<first>:
name:'first'
Button:
text:'press me'
size_hint:(0.1,0.1)
pos_hint:{'top':0.5,'right':0.5}
color:(0.1,0.2,1,1)
<second>:
name:'second'
Button:
text:'press me'
size_hint:(0.1,0.1)
pos_hint:{'top':0.5,'right':0.5}
color:(0.1,0.2,1,1)
解决方案
推荐阅读
- django - Django WeasyPrint - 导出过滤列表
- python - 异常引发 TypeError
- java - Spring & Couchbase - 没有找到能够从类型 [java.lang.Long] 转换为类型 [java.sql.Timestamp] 的转换器
- c++ - WinSock 和 IOCP 就绪通知
- unity3d - 从 ScreenToWorldPoint 转换给我错误的值
- java - 类路径资源[org/springframework/boot/autoconfigure/web/ServerPropertiesAutoConfiguration.class]因为不存在所以打不开
- database - 数据仓库是正确的解决方案吗
- ios - 如果不需要 alpha 组件,使用 .jpg 而不是 .png 会减小 iOS 应用程序的大小吗?
- html - 加载微调器的颜色对比度测试程序(Gif)
- hadoop - 如何在另一个 ubuntu 中写入外部 HDFS?