2016-10-09 6 views
0

Ich bin neu in Kivy und Python und ich würde gerne wissen, was in meinem Code falsch ist. Ich möchte ein Label-Widget und ein TextInput-Widget in demselben Layout ausrichten. Mit anderen Worten, die zwei Widgets müssen von derselben x-Koordinate ausgehen! In meinem Beispiel setze ich die gleiche x-Koordinate in pos_hint ('center_x': 0.5), aber die Widgets sind nicht ausgerichtet. Ich habe es vorher mit einem anderen Layout-Typ versucht, aber ich habe dieses Problem nicht gelöst. irgendein Vorschlag?Widget Ausrichtung in Kivy

from kivy.app import App 
from kivy.uix.floatlayout import FloatLayout 
from kivy.uix.label import Label 
from kivy.uix.textinput import TextInput 


class MyWidget(FloatLayout): 
    def __init__(self, *args): 
     super(MyWidget, self).__init__(*args) 

     self.add_widget(Label(text="Hello", size_hint=(None, None), pos_hint={'center_x':0.5, 'center_y':0.5})) 
     self.add_widget(TextInput(text="MyText", multiline=False, size_hint=(0.1,0.05), pos_hint={'center_x':0.5, 'center_y':0.4})) 


class ex(App): 
    def build(self): 
     return MyWidget() 


if __name__ == '__main__': 
    ex().run() 
+0

Sie möchten, dass sie nebeneinander stehen? – Juggernaut

Antwort

0

Das ist, was Sie wollen Wenn ich recht habe, was Sie meinen.

self.add_widget(Label(text="Hello", size_hint=(None, None), pos_hint={'center_x':0.4, 'center_y':0.5})) 
self.add_widget(TextInput(text="MyText", multiline=False, size_hint=(0.1,0.05), pos_hint={'center_x':0.5, 'center_y':0.5})) 

Ich denke, Sie missverstanden die pos_hint. bedeutet die Mitte von x also center_x: 0.4 bedeutet eine Ebene nach links.

+0

Danke für deine Antwort, aber ich meine etwas anderes. Ich möchte in diesem Fall den ersten Buchstaben der Beschriftung "H" mit der Anfangsgrenze des TextInput-Widgets ausrichten. Die beiden Widgets haben die gleiche Koordinate, aber der Text der Beschriftung scheint "zentriert" zu sein! – user5577446

Verwandte Themen