我似乎无法用纯Python代码找出对齐方式。我的理解是我们引用root
来获得关系对齐。但是,我没能让它工作。这段代码编译、运行,然后将按钮放在左下角。在0,0坐标处。我错过了什么
class ContainerView(FloatLayout):
def __init__(self, **kwargs):
super(ContainerView, self).__init__(**kwargs)
def build(self):
new = Button()
new.text = "username"
new.size = (50,50)
new.color = [3/255,50/255,155/255,1]
new.size_hint = [0.5,0.5]
new.center = self.center ###This line
self.add_widget(new)
class ScoreboardApp(App):
def build(self):
cView = ContainerView()
cView.build()
return cView
更新:
经过一系列的尝试和错误,我发现设置窗口大小,然后在.kv文件中对齐是可行的,但我不知道为什么。如果我把窗口大小记录到控制台上,它仍然会给我计算机的实际尺寸
main.py:
from kivy.core.window import Window
### Set window size
Window.size = (1440, 800)
### Set size_hint in draw function
class ClientScoreboard(GridLayout):
containerView = ContainerView()
numberOfRows = 0
numberOfColumns = 0
def buildClientScoreboard(self):
self.cols = self.numberOfColumns
self.rows = self.numberOfRows
self.size_hint = (0.75, 0.85)
.kv
<ContainerView>
ClientScoreboard:
id: client_scoreboard
x: 375
y: self.parent.height - self.height - 25.0
我怀疑它与引用FloatLayout
作为中心点有关
它(你的floatlayout)不知道窗口大小。。。所以它使用默认大小(100100)。。。所以它把按钮放在中间
试着告诉你的浮动布局它的大小
相关问题 更多 >
编程相关推荐