2016-04-19 3 views
0
from kivy.app import App 
from kivy.uix.button import Button 
from kivy.uix.stacklayout import StackLayout 


class mylayout(StackLayout): 
    def __init__(self, **kwargs): 
     super(mylayout, self).__init__(**kwargs) 
     for i in range(10): 
      btn = Button(text=str(i), width=40, size_hint=(None, 0.15), orientation= 'lr-bt') 
      self.add_widget(btn) 


class NameApp(App): 
    def build(self): 
     mL = mylayout() 
     return mL 

if __name__ == "__main__": 
    NameApp().run() 

ändern habe ich versucht, hier die Orientierung zu ändern, aber die Orientierung auf der App angezeigt wird, ist nach wie vor, als ob es standardmäßig warWie kann ich die Orientierung eines Buttons in einem Stapel Layout in Kivy

+0

Was genau ist die Ausrichtung eines Knopfes? Meinst du die Ausrichtung des Stacklayouts? – syntonym

+0

ja, ich habe gerade das Q jetzt geändert, danke –

Antwort

1

Orientierung ist eine Eigenschaft des Layouts, nicht der darin enthaltenen Widgets. Sie können

self.orientation = "lr-bt" 

in der __init__ Funktion verwenden, um die Eigenschaft, um das Layout zuzuweisen. Sie können es auch in der entsprechenden KV-Datei zuweisen, wenn Sie diese verwenden.

+0

überwältigend danke! –

+0

".kv-Datei, wenn Sie das verwenden" - dort sollte kein "wenn" sein. Wenn Sie kv lang nicht verwenden, verwenden Sie Kivy nicht richtig. ;) –

+0

Generell hast du recht. Aber manchmal macht es immer noch Sinn, Sachen in Python zu machen, die in der Kivy-Datei sein könnten. Vielleicht wird 'mylayout' momentan nicht in der kv-Datei formatiert, daher kann es sinnvoll sein, das Layout in der init zu setzen. Aber im Allgemeinen natürlich kv-Dateien sind großartig. – syntonym

Verwandte Themen