Мне снова нужна ваша помощь, пожалуйста. Я пытаюсь создать простое меню (topMenu), которое будет обновлять сетку кнопок слева (сбоку от центра экрана). Не могли бы вы взглянуть ниже и посоветовать, почему на экране ничего не рисуется, несмотря на правильное выполнение кода в фоновом режиме? (журнал консоли: кнопка добавления: 0 - 24).
TopMenu.py:
import Categories
from kivy.uix.gridlayout import GridLayout
from kivy.uix.button import Button
from kivy.uix.togglebutton import ToggleButton
from kivy.properties import StringProperty
from kivy.properties import ObjectProperty
import Left
class TopMenu(GridLayout):
def __init__(self, **kwargs):
super(TopMenu, self).__init__(**kwargs)
print("Top is alive!")
self.drawBtns()
# Get buttons from the category and draw them on the top screen
def drawBtns(self):
mainCats = Categories.Categories()
for i in range(len(mainCats.mainCats)):
but = MenuButton(mainCats.mainCats[i])
self.add_widget(but)
# Custom class to create a button that contains all required parameters
class MenuButton(ToggleButton):
def __init__(self, btnText, **kwargs):
super(MenuButton, self).__init__(**kwargs)
self.text = btnText
self.group = "topMenuGroup"
self.bind(on_press = self.topMenuPressed)
############################### FIRE EVENT IN THIS METHOD ############################
def topMenuPressed(event, self):
print("Pressed " + self.text + ":" + self.state)
if self.state == "down":
left = Left.Left()
left.addBtns()
Left.py:
from kivy.uix.gridlayout import GridLayout
from kivy.uix.button import Button
class Left(GridLayout):
def __init__(self, **kwargs):
super(Left, self).__init__(**kwargs)
print("Left is alive!")
####################### DRAW BUTTONS TO THE GRID LAYOUT AND DISPLAY ON THE SCREEN #########
def addBtns(self):
for i in range(0, 25):
print("Adding button: " + str(i))
but = Button(text="X" + str(i) + "\n23." + str(i))
self.add_widget(but)
Я думаю, что моя проблема может быть связано с некоторым обновлением экрана? Но я понятия не имею, как это кусать:)