Как сделать так, чтобы при каждом нажатии кнопки высвечивался разный текст?
В общем при нажатии на кнопку должны высвечиваться разные вопросы. Я всё сделал, всё работает, но проблема в том, что один вопрос накладывается поверх второго. Как это исправить? (Пожалуйста по подробнее.) Я первый раз на сайте, не знаю как и куда код вставить так что вот.Кто знает тот поймёт.введите сюда код
from tkinter import*
import random
#Создание окна
root=Tk()
root.title('PythonTraining')
root.geometry('900x700')
root.resizable(width=False, height=False)
#Добавление фона
#canvas=Canvas(root, width=900, height=700)
#my_image=PhotoImage(file='reqbv.gif')
#canvas.create_image(0,0,anchor=NW, image=my_image)
#canvas.pack()
#Функция вывода текста
def clickeasy():
x=random.randint(0,2)
label1=Label(root, text=easy[x],font='Arial 25')
label1.place(x=240, y=275)
def clickmedium():
y=random.randint(0,2)
def clickhard():
z=random.randint(0,2)
#Добавление кнопок
btn=Button(root, text='Лёгкие вопросы',command=clickeasy).place(x=50, y=290)
btn1=Button(root, text='Средние вопросы').place(x=50, y=450)
btn2=Button(root, text='Тяжёлые вопросы').place(x=50, y=600)
#Список вопросов
easy=['Что такое переменная?','Что такое генератор рандомных чисел?','Для чего нужны условные операторы?']
medium=['Что такое цикл?','Что такое функция?','Что такое список?']
hard=['Как создать окно?','Как создать меню?','Как сделать чтение файла?']
root.mainloop()
Ответы (1 шт):
Автор решения: insolor
→ Ссылка
Просто не создавайте каждый раз новый Label с вопросом, а создайте один, и меняйте в нем текст:
#Функция вывода текста
def clickeasy():
label1.config(text=random.choice(easy))
def clickmedium():
label1.config(text=random.choice(medium))
def clickhard():
label1.config(text=random.choice(hard))
#Добавление кнопок
btn=Button(root, text='Лёгкие вопросы',command=clickeasy).place(x=50, y=290)
btn1=Button(root, text='Средние вопросы').place(x=50, y=450)
btn2=Button(root, text='Тяжёлые вопросы').place(x=50, y=600)
label1=Label(root, font='Arial 25')
label1.place(x=240, y=275)
В примере дополнительно поменял выбор случайного вопроса на random.choice (выбор случайного значения из набора).