ScreenThermo - перезаписанные метки
ScreenThermo
отображает 2 метки, но они перезаписаны или наложены, т. Е. Одна находится на заднем плане, а другая на переднем плане.
Soltion
Добавьте BoxLayout
для разделения двух Labels
.
Фрагменты кода - kv
<ScreenThermo>:
BoxLayout:
Label:
text: "temperature"
font_size: 60
text_size: self.size
halign: 'left'
valign: 'middle'
Label:
id: TempLabel
text: "temperature updated"
font_size: 60
text_size: self.size
halign: 'center'
valign: 'middle'
Основная причина - на этикетке по-прежнему отображаются старые значения
Старые значения отображаются, потому что следующие создают метку, которая может расти вертикально, но оборачивает текст на определенную ширину.
Label:
text_size: root.width, None
size: self.texture_size
Solution
- Remove
text_size: root.width, None
иsize: self.texture_size
. - Добавить
text_size: self.size
.
Пример
Следующий код привязывает этот размер к размеру метки, поэтому текст будет выровнен в пределах границ виджета.Это также автоматически обернет текст метки, чтобы остаться в этой области.
Label:
text_size: self.size
halign: 'right'
valign: 'middle'