2017-03-13 9 views
0

Ich hatte ein Problem mit der Position der Anker Label. Kivy führt diesen Code in der Mitte/Mitte aus. Es ist ein Teil der Bildschirmanzeige.Position des Etiketts mit Eingabetext in Kivy

with open('weatherdata.txt', encoding='utf-8') as weatherdata: 
     read_weatherdata = weatherdata.read() 

    label_position = AnchorLayout(anchor_x='right', 
            anchor_y='bottom') 
    label_settings = Label(text=read_weatherdata, 
          font_size='12sp', 
          size=(200, 200), 
          color=(0.4, 0.4, 0.4, 1)) 
    label_position.add_widget(label_settings) 
    self.add_widget(label_position) 

Ex. Daten aus TXT-Datei:

Weather now in Warsaw, pl 

Clouds: 20 % 
Rain: 15 % 
Wind speed: 2.6 
Wind degree: 340 
Humidity: 75 % 
Temperature: 5.0 celsius 
Max temperature: 5.0 celsius 
Min temperature: 5.0 celsius 
Weather status: few clouds 

Antwort

0

Das geschieht, weil Ihr Label die gleiche Größe wie der Bildschirm ist. Um dies zu verhindern Sie size_hint: None, None

tun sollte, werde ich Ihnen empfehlen die kv lauguage zu verwenden, weil es Ihren Code hilft viel aussehen lassen Reiniger

Hier ist ein Beispiel für eine verbesserte Code:

from kivy.app import App 
from kivy.lang import Builder 
from kivy.uix.anchorlayout import AnchorLayout 

Builder.load_string(''' 
<Root>: 
    anchor_x: 'right' 
    anchor_y: 'bottom' 

    Label: 
     id: weather_info 
     color: 0.4, 0.4, 0.4, 1 
     font_size: '12sp' 
     size_hint: None, None 
     size: self.texture_size # you can specify you own size here now 
''') 

class Root(AnchorLayout): 
    pass 

class TestApp(App): 
    def build(self): 
     weather_data=\ 
''' 
Weather now in Warsaw, pl 

Clouds: 20 % 
Rain: 15 % 
Wind speed: 2.6 
Wind degree: 340 
Humidity: 75 % 
Temperature: 5.0 celsius 
Max temperature: 5.0 celsius 
Min temperature: 5.0 celsius 
Weather status: few clouds 
''' 

     self.root = Root() 
     self.root.ids.weather_info.text = weather_data 
     return self.root 


TestApp().run() 

Und als Ergebnis haben wir:

(die Schrift ist zu klein und dunkel, aber Sie können dies jederzeit leicht ändern!) pic

Verwandte Themen