Como imprimir no campo de entrada python tkinter pressionando um botão?

Sep 02 2020

Então, estou tentando criar um programa que cria um número aleatório (usando randint) para um campo de entrada, quando um botão é pressionado. Mas não consigo descobrir como fazer isso.

import tkinter
from tkinter import Entry, END, E
from random import randint

root = tkinter.Tk()
root.title('Number Generator')

e = Entry(root, font=("LEMON MILK Bold", 24), width=15, borderwidth=10)
e.grid(row=0, column=0, columnspan=3, padx=50, pady=50)
e.delete(0, END)
e.insert(0, number)

number=print(randint(0, 100))

#Definitions

def button_generate():
    print(number)

#Buttons

button_generate = tkinter.Button(root, text="Random number", font=("LEMON MILK Bold", 24), padx=10, 
pady=10, command=button_generate)
button_exit = tkinter.Button(root, text="Exit", font=("LEMON MILK Bold", 14), padx=5, pady=5, 
command=root.quit)

#Grid

button_generate.grid(row=1, column=0, columnspan=3)
button_exit.grid(row=2, column=2, sticky=E)

root.mainloop()

Então, basicamente, como posso imprimir o número aleatório no campo de entrada? (No momento não está imprimindo em lugar nenhum devido ao meu código ruim)

Respostas

1 Karthik Sep 02 2020 at 14:13

Por favor, verifique isso

from tkinter import *
from random import randint


def set_text():
    number=randint(0, 100)
    e.delete(0,END)
    e.insert(0,number)
    print(number)

win = Tk()

e = Entry(win,width=10)
e.pack()

b1 = Button(win,text="Gen",command=set_text)
b1.pack()
win.mainloop()