在导入 Kivy 语言中的类时,我无法分配别名。我正在关注的文档在这里:
从 python 导入一些东西:
#:import name x.y.z
相当于:
from x.y import z as name
我创建了我的问题的简化版本。pieces.py
位于包装件内(及其各自__init__.py
的 ),pieces.kv
位于我的工作文件夹中。
件/件.py
from kivy.uix.button import Button
from kivy.uix.gridlayout import GridLayout
class PieceA(Button):
pass
class PieceB(Button):
pass
class PieceC(GridLayout):
pass
件.kv
#:import Boo pieces.pieces.PieceA
#:import Foo pieces.pieces.PieceB
#:import Too pieces.pieces.PieceC
<Boo>:
text: "A"
<Foo>:
text: "B"
<Too>:
rows: 2
Boo:
Foo:
导入如文档中所述,但别名 Boo、Foo 和 Too 未被识别。如果我使用类的原始名称而不是别名,还有许多其他版本会意外地起作用:
#:import Boo pieces.pieces
<PieceA>:
text: "A"
<PieceB>:
text: "B"
<PieceC>:
rows: 2
PieceA:
PieceB:
即使我代替#:import Boo pieces.pieces
. #:import Boo pieces.pieces.PieceA
只要我使用类的原始名称,它就会继续工作,但我不能使用别名。导入 Kivy 语言中的类时如何使用别名?
我还在这里添加了我的其他 2 个文件,以防你想测试。
主文件
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.gridlayout import GridLayout
Builder.load_file('pieces.kv')
class Gallery(GridLayout):
pass
class GalleryApp(App):
def build(self):
return Gallery()
GalleryApp().run()
画廊.kv
<Gallery>:
cols: 3
PieceA:
PieceB:
PieceC: