Ich bin gerade dabei, eine App mit kivy (1.9.1) zu programmieren, die dank eines GridLayout (2 * 2) in 4 Widgets aufgeteilt ist. Ich suche nach den beiden oberen, die um 180 ° gedreht sind.Drehe 'komplexes' kivy-Widget in ein GridLayout
Ich habe versucht, es mit einem ScatterLayout zu tun, aber die Zellen springt nach unten rechts ... Ich habe versucht, den Scatter in ein Widget einzufügen, aber ich finde nicht, wie Sie die Größe richtig einstellen .
las ich den folgenden Code zu verwenden, um Ressourcen Verbrauch zu optimieren:
canvas.before:
PushMatrix
Rotate:
angle: 180
origin: self.center
canvas.after:
PopMatrix
Es funktioniert auf den ersten Blick, aber die ‚berührende Bereiche‘ haben leider nicht gedreht.
Die einzigen beiden Dinge, die ich gefunden habe, sind die ScatterLayout innen und AnchorLayout setzen oder den vorherigen Code für jedes Kind zu verwenden ...
Ich denke, es eine bessere Lösung ist, aber ich habe nicht in der Lage gewesen, um es so weit zu finden.
haben Sie einen Blick auf meine .kv Datei unten für eine Zusammenstellung von dem, was ich ausprobiert habe:
GridLayout:
cols: 2
rows: 2
AnchorLayout:
ScatterLayout:
center: self.parent.center
do_rotation: False
do_translation: False
do_scale: False
rotation: 180
GridLayout:
cols: 2
Button:
text: '1.1'
Button
text: '1.2'
Button:
text: '2'
GridLayout:
size: self.parent.size
center: self.parent.center
cols: 3
Button:
canvas.before:
PushMatrix
Rotate:
angle: 180
origin: self.center
canvas.after:
PopMatrix
text: '3.1'
Button:
canvas.before:
PushMatrix
Rotate:
angle: 180
origin: self.center
canvas.after:
PopMatrix
text: '3.2'
GridLayout:
size: self.parent.size
center: self.parent.center
rows: 2
canvas.before:
PushMatrix
Rotate:
angle: 180
origin: self.center
canvas.after:
PopMatrix
Button:
text: '3.3.1'
Button:
text: '3.3.2'
Button:
text: '4'
Die Py-Datei ist nichts anderes als das:
from kivy.app import App
class MainApp(App):
pass
if __name__ == '__main__':
MainApp().run()
Danke voraus.