Я учусь программировать на Python и Kivy.Я хочу получить позицию кнопки (button1), которая находится в boxlayout, относительно окна.Однако, когда я печатаю button1.pos
или button1.to_window(*button1.pos)
, я получаю [0, 0]
, что явно не соответствует позиции кнопки.Я предполагаю, что позиция кнопки еще не была изменена в то время, когда я получаю позицию, но я не уверен, откуда я могу поместить этот код так, чтобы он выполнялся после того, как позиция кнопки была изменена (предположительно, компоновкой), Если это вообще проблема.
Как вы можете видеть в моем коде, я пытался получить позицию из метода on_start
, надеясь, что это решит мою проблему, но я получил тот же результат,
Вот мой код:
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
class Example(App):
def build(self):
return root
def on_start(self):
print("Position: " + str(button1.pos))
print("Position2: " + str(button1.to_window(*button1.pos)))
root = BoxLayout()
root.orientation = 'vertical'
button1 = Button(text = "Button1")
button2 = Button(text = "Button2")
root.add_widget(button1)
root.add_widget(button2)
Example().run()
Спасибо