大家好我的问题是基本问题。我正在使用kv文件,因为坦率地说,阅读300行代码比500行更容易。我的问题是在我的kv中我有一个改变屏幕的按钮,我想知道我是否有办法使用builder.load(kv2.kv)我已经尝试了一些不同的方法来编写它,stats.kv文件加载我的所有RPG统计信息,如果我删除构建器语句我只是得到下一个屏幕,我的所有小部件都是在另一个kv文件中,以便于调试。我只需要在kv文件中加载多个kv文件。我每次尝试都会收到此错误:
AttributeError:'RevengeApp'对象没有属性'builder'
这是.kv格式的按钮:
按钮: 文字:“确认” on_press:app.builder.load(stats.kv) on_release:app.root.current =“AStats”
答案 0 :(得分:1)
您是否已将Builder
对象分配给应用的builder
属性?因为那是你的kv代码所期望的。
from kivy.lang import Builder
[...]
class RevengeApp(App):
def build(self):
self.builder = Builder
应该这样做。
但您也可以通过
直接在您的kv代码中导入Builder#:import builder kivy.lang.Builder
位于kv文件的顶部,然后将app.builder.load
替换为builder.load_file
绑定中的on_press
。