Python – tkinter message box: come ottenere le variabili da Entry e usarle successivamente nel codice

im cercando di impostare un programma di messaggi GUI, ma ho bisogno di configurarlo in modo che io possa riutilizzare il nome HOST e PORT. questo è quello che ho provato a fare, ma mi sono bloccato

from threading import Thread
import tkinter

HOST = "localhost"
PORT = 33000
"""GET PORT AND HOST GUI""" 
def show_entry_fields():
  print("HOST: %s\nPORT: %s" % (e1.get(), e2.get()))
  HOST = e1.get()
  PORT = e2.get()
  return HOST, PORT

master = Tk()
Label(master, text="HOST").grid(row=0)
Label(master, text="PORT").grid(row=1)

e1 = Entry(master)
e2 = Entry(master)

e1.grid(row=0, column=1)
e2.grid(row=1, column=1)

#Button(master, text='Quit', command=master.quit).grid(row=3, column=0, 
sticky=W, pady=4)
Button(master, text='Show', command=show_entry_fields).grid(row=3, column=1, 
sticky=W, pady=4)

mainloop( )
"""END GUI"""

print("Host: %s Port: %s" % (HOST, PORT))

ciò che im cerca è ottenere le variabili dal thread e usarlo dopo aver chiuso la finestra GUI. c’è un modo per farlo?

EN From: Python – tkinter message box: how to get variables from Entry and use it later in the code

More similar articles:

4 Comments

  1. la vostra funzione show_entry_fields() sta assegnando a variabili locali che cessano di esistere immediatamente, e senza scopo di restituire valori che non vanno da nessuna parte (perché Tkinter non si aspetta un valore di ritorno quando invoca un pulsante command).

  2. basta cambiare il metodo show _ entry _ fields per includere la dichiarazione globale delle variabili HOST e PORT. poiché Tkinter non si aspetta o gestisce un valore di ritorno della funzione, la linea return HOST, PORT non fa nulla.

    def show_entry_fields():
        print("HOST: %s\nPORT: %s" % (e1.get(), e2.get()))
        global HOST
        global PORT
        HOST = e1.get()
        PORT = e2.get()

Leave a Reply

Your email address will not be published. Required fields are marked *