#python-3.x #kivy
#python-3.x #kivy
Вопрос:
Я создаю кнопки динамически. Постоянно при get_username()
вызове функции. И каждый раз кнопки дублируются, но я бы хотел, чтобы добавлялись только новые. Как я могу это сделать?
class Curs(Screen):
def __init__(self, **kwargs):
super().__init__(**kwargs)
def get_username(self):
with conn:
cursor=conn.cursor()
sql=f'''SELECT name_courses
FROM [courses]
'''
cursor.execute(sql)
results = cursor.fetchall()
print(results)
for i in range(len(results)):
self.ids['test'].add_widget(Button(text=str(results[i][0]),size_hint_y=None,id=str(i)))
Ответ №1:
Вы можете clear_widgets()
перед созданием.
class Curs(Screen):
def __init__(self, **kwargs):
super().__init__(**kwargs)
def get_username(self):
with conn:
cursor=conn.cursor()
sql=f'''SELECT name_courses
FROM [courses]
'''
cursor.execute(sql)
results = cursor.fetchall()
print(results)
self.ids['test'].clear_widgets()
for i in range(len(results)):
self.ids['test'].add_widget(Button(text=str(results[i][0]),size_hint_y=None))