Ich kann nicht scheinen, Ausrichtung mit reinem Python-Code herauszufinden. Mein Verständnis ist, dass wir root
beziehen, um relationale Ausrichtung zu erhalten. Ich konnte es jedoch nicht zur Arbeit bringen. Dieser Code wird kompiliert, ausgeführt und platziert den Button in der unteren linken Ecke. Bei den 0,0 Koordinaten. Was fehlt mir hier?Ausrichten von Kivy-Objekten mit reinem Python
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
Update:
Nach einer Reihe von Versuch und Irrtum Ich fand, dass die Fenstergröße einstellen und dann in der .kv Datei Ausrichten funktioniert, aber ich weiß nicht vollständig wissen, warum. Wenn ich die Fenstergröße auf der Konsole protokolliere, gibt es mir immer noch die tatsächlichen Abmessungen meines Computers.
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
Ich vermute, es hat etwas mit Referenzierung FloatLayout
als Mittelpunkt zu tun hat.
Worauf soll die Schaltfläche ausgerichtet sein? – syntonym
das Zentrum ... sehe die Linie, die er legte ### diese Linie –