Вот мой файл Python (минимальная воспроизводимая ошибка):
Код: Выделить всё
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.widget import Widget
from kivy.core.window import Window
class GameScreen(Widget):
pass
class test801App(App):
def build(self):
return GameScreen()
if __name__ == '__main__':
test801App().run()
Код: Выделить всё
#:kivy 2.3.0
:
canvas:
Color:
rgba: 0, 0, 1, 1 # Blue (For the border)
Rectangle:
pos: root.x, root.y
size: root.width, root.height
Color:
rgba: 1, 1, 1, 1 # White
Rectangle:
pos: root.x + 5, root.y + 5
size: root.width - 10, root.height - 10
FloatLayout:
pos: 0,0
size: root.width, root.height
Button:
pos_hint: {'x': .05, 'y': .05 }
#size_hint: root.width * 0.1, root.height * .1
font_size: 22
bold: True
background_normal: ''
background_color: 0.2, 0.7, .2, 1 # Green
color: 1, 0, 0, 1 # Red
text_box_size: self.width, self.height
text: 'Hello'
Это работает, когда кнопка является частью GridLayout (который был частью FloatLayout на том же уровне, что и холст. Он перестал работать, когда я создал экземпляр кнопку напрямую как часть FloatLayout.
Я попробовал добавить ограничение text_box_size, чтобы убедиться, что текст не отображается за пределами окна. Я попробовал изменить цвет текста. Я попытался изменить. цвет фона я попробовал добавить/удалить фон_нормальный.
Кстати, size_hint также не делает кнопку 0.1x0.1. Это также работало, когда кнопка была частью. GridLayout. Я еще не пытался отладить эту проблему, может быть это связано???
Подробнее здесь: https://stackoverflow.com/questions/783 ... -size-hint