Stack Overflow en español Asked by Juan J. Mart on December 27, 2020
Estoy intentando colocar un botón con tkinter que de inicio no aparezca su texto puesto sobre el hasta que se de click sobre el. Estoy intentando hacerlo de la siguiente manera pero no me funciona los botones salen igual en blanco.
tengo dudas en los argumentos de función dentro del botón pero no estoy seguro que me falta hacer
def callback_btn(btn,text):
btn.configure(text=text)
def dibujando_tab(matriz, numero_filas, numero_columnas, frame):
for row_index in range(numero_filas):
Grid.rowconfigure(frame, row_index, weight=2)
for col_index in range(numero_columnas):
Grid.columnconfigure(frame, col_index, weight=2)
texto=str(matriz[row_index][col_index][(row_index, col_index)][::]).replace("[","")
for char in n:
texto = texto.replace(char,"")
btn = Button(frame)
btn.configure( command = lambda: callback_btn(btn, texto))
btn.grid(row=row_index, column=col_index, sticky=N+S+E+W)
Como no sé con qué datos se hace la llamada a dibujando_tab, simplifiqué el problema y lo dejé del siguiente modo:
from tkinter import Tk, Button
def callback_btn(btn,text):
btn.configure(text=text)
v = Tk()
v.title("V")
v.geometry("200x100+100+100")
texto = "HICISTE CLIC"
boton = Button(v, text="", command=lambda: callback_btn(boton, texto))
boton.place(x=50, y=30, width=100, height=30)
Realicé la invocación a la función callback_btn, y el resultado es el esperado.
Recuerdo que en algún momento tuve un problema similar, en el que no se refrescaban algunos cambios de aspecto sobre los controles, para eso, tuve que usar la función update(). Aunque para el caso del ejemplo que hice no es necesario, bastaría con usar v.update() luego de modificar el botón.
Answered by RodrigoN on December 27, 2020
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP