Como pegar o valor de uma entry e usá-lo para fixar um número?
Como no código abaixo eu gostaria de após clicar em "Pontos de Vida", atribuir um valor a caixinha aberta, e ele se fixasse na interface em frente dos pontos de vida.
from tkinter import *
def vida():
Entry().grid(row=0, column=2)
janela = Tk()
janela.title("Caçadores")
janela.geometry ("640x480")
botao = Button(text="Pontos de Vida", command=vida)
botao.grid(column=0, row=0)
janela.mainloop()
Envie sua primeira dúvida gratuitamente aqui no Tira-dúvidas Profes. Nossos professores particulares estão aqui para te ajudar.
Você pode armazenar o objeto criado por "Entry()" em uma variável chamada "entry", por exemplo. Em seguida, pode pode acessar o seu valor através da função "entry.get()".
Por exemplo:
from tkinter import *
janela = Tk()
janela.title("Caçadores")
janela.geometry ("640x480")
entry = Entry()
texto_saida = StringVar()
saida = Label(textvariable = texto_saida)
def pegar_vida():
text_entrada = entry.get()
texto_saida.set(text_entrada)
botao = Button(text="Pontos de Vida", command=pegar_vida)
botao.grid(row=0, column=0)
entry.grid(row=0, column=2)
saida.grid(row=2)
janela.mainloop()
Envie sua primeira dúvida gratuitamente aqui no Tira-dúvidas Profes. Nossos professores particulares estão aqui para te ajudar.
Para atingir o que você deseja, você precisa criar uma variável que pode ser associada à Entry
e, em seguida, atualizar essa variável quando o botão for pressionado. A biblioteca tkinter
fornece a classe StringVar
que pode ser usada para isso.
Aqui está uma modificação do seu código para alcançar o que você deseja:
from tkinter import *
def vida():
# Declare uma variável StringVar
valor_variavel = StringVar()
# Crie a Entry associada à variável
entry_vida = Entry(janela, textvariable=valor_variavel)
entry_vida.grid(row=0, column=2)
# Atualize a variável quando o botão for pressionado
def atualizar_pontos_vida():
pontos_vida = valor_variavel.get()
# Faça algo com o valor dos pontos de vida, por exemplo, exibir em algum lugar
label_pontos_vida.config(text=f"Pontos de Vida: {pontos_vida}")
# Adicione um botão para confirmar a entrada e atualizar a interface
botao_confirmar = Button(janela, text="Confirmar", command=atualizar_pontos_vida)
botao_confirmar.grid(row=1, column=2)
# Adicione um rótulo para exibir os pontos de vida
label_pontos_vida = Label(janela, text="Pontos de Vida: ")
label_pontos_vida.grid(row=0, column=3)
janela = Tk()
janela.title("Caçadores")
janela.geometry("640x480")
botao = Button(janela, text="Pontos de Vida", command=vida)
botao.grid(column=0, row=0)
janela.mainloop()
Envie sua primeira dúvida gratuitamente aqui no Tira-dúvidas Profes. Nossos professores particulares estão aqui para te ajudar.