我试图在kivy中创建一个简单的GridLayout,如下所示:
在Python文件中:
<div class="item active"> <!-- active only appears if it's the first item -->
<blockquote>
<div class="row">
<div class="col-sm-3 text-center">
<img class="img-circle" src="json[0].image" style="width: 100px;height:100px;">
</div>
<div class="col-sm-9">
<p>json[0].quote</p>
<small>json[0].person</small>
</div>
</div>
</blockquote>
</div>
在pp.kv中:
class GroundTile(Widget):
pass
class PPGame(Widget):
def __init__(self, **kwargs):
super(PPGame, self).__init__(**kwargs)
for x in range(5):
t = GroundTile()
self.add_widget(t)
self.add_widget(Label(text='ASD'))
我希望此代码能够创建一个包含5个图像和1个文本标签的3 * 2布局。该应用程序启动,但我看到的只是左下角的一个图像,标签位于其上方。据推测,其余的图像也堆叠在它们下面。我做错了什么?
答案 0 :(得分:0)
从PPGame
GridLayout
继承GroundTile
和Image
:
class GroundTile(Image):
pass
class PPGame(GridLayout):
def __init__(self, **kwargs):
super(PPGame, self).__init__(**kwargs)
for x in range(5):
self.add_widget(GroundTile())
self.add_widget(Label(text='ASD'))
和
#:kivy 1.9.0
<GroundTile>:
size: 50, 50
pos_hint: {'x': 1, 'y': 1}
source: 'i1.png'
<PPGame>:
cols: 3
rows: 2
Widget
他们自己不会照顾孩子的定位。