@ArtemCA

Нужно изменить текст у label при нажатии кнопки tkinter. Как такое сделать?

from tkinter import *
from tkinter import font
import random


def PageWithCC():
    w = Toplevel()
    w.geometry('700x700')
    w.grab_set()
    p = Button(w, text='Сгенерировать число', height=2, command=gen)
    laab = Label(w, text="Сгенерированное число", font=font)
    gennum = Label(w, font=font2, bg="#FFFFFF")
    p.pack(fill=X)
    laab.pack(anchor='w')
    gennum.pack(fill=X)


def gen():
    alphabet = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    KSymbols = random.randint(1, 5)
    number = ""
    for i in range(KSymbols):
        Ab = str(random.randint(0, len(alphabet)))
        number += Ab
    laab.config(number)


StartPage = Tk()
StartPage.geometry('700x700')

font2 = font.Font(family="Itim", size=13, weight="normal", slant="italic")
font = font.Font(family="Aboreto", size=11, weight="bold", slant="italic")
HelloLabel = Label(height=2, text="Добро пожаловать в программу-практикум", font=font)

button_perevod = Button(StartPage,
                            height=5,
                            text="Практика 'Системы счисления'",
                            command=PageWithCC,
                            font=font2)
b2 = Label(StartPage, text="Снизу будут другие кнопки, ждите обновление программы", height=2)


HelloLabel.pack(anchor="n", fill=X)
button_perevod.pack(anchor="n", fill=X)
b2.pack(anchor=CENTER, fill=BOTH, expand=True)

StartPage.mainloop()


Есть данный код, в нем нужно при нажатии кнопки p изменять текст надписи gennum. Проблема заключается в том, что я не могу в новом методе генерации gen() изменить текст, а команда у кнопки может быть только одна.
  • Вопрос задан
  • 2316 просмотров
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
your_label.configure(text="Новый текст")
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
26 июн. 2024, в 02:23
5000 руб./за проект
26 июн. 2024, в 00:28
5000 руб./за проект
25 июн. 2024, в 23:31
1500 руб./за проект