es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Establezca una variable global de Python desde un widget de Tkinter.

Estaba jugando con los paquetes tkinter y multiprocessing y con variables globales. No puedo establecer la variable mientras presiono el botón. Cuando se suelta, su valor no se mantiene y se restaura a su estado anterior. Agradecería mucho su ayuda. Aquí está el MVP.

from multiprocessing import Process
from tkinter import *
import time
root = Tk()
var_a = 10

def set_callback():
global var_a
var_a = int(e1.get())
print(var_a)

def pro_function():
while True:
print(var_a)
time.sleep(0.1)

e1 = Entry(root)
e1.pack(pady=12)
button1 = Button(root, text=”Establecer Var”, command=set_callback)
button1.pack(pady=12)

if name == ‘main‘:

root.geometry('350x218')
root.title("PythonLobby")
x = Process(target=pro_function)
x.start()
root.mainloop()
x.join()
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Parece que estás teniendo problemas para establecer la variable global var_a cuando presionas el botón. Para ayudarte, aquí te damos algunas sugerencias:

    • Asegúrate de que la función set_callback esté siendo llamada cuando se presiona el botón. Puedes hacer esto agregando una declaración print dentro de la función para verificar si está siendo llamada.
    • Asegúrate de que var_a esté siendo establecida correctamente. Puedes hacer esto agregando una declaración print dentro de la función set_callback para verificar el valor de var_a después de que se establece.
    • Asegúrate de que var_a se esté utilizando correctamente en la función pro_function. Puedes hacer esto agregando una declaración print dentro de la función pro_function para verificar el valor de var_a antes de que se utilice.
    • Asegúrate de que var_a esté siendo establecida correctamente en la función pro_function. Puedes hacer esto agregando una declaración print dentro de la función pro_function para verificar el valor de var_a después de que se establece.
    • Asegúrate de que var_a se esté utilizando correctamente en la función main. Puedes hacer esto agregando una declaración print dentro de la función main para verificar el valor de var_a antes de que se utilice.

Comments are closed.