我正在尝试设置GUI消息程序,但我需要对其进行设置,以便可以重用主机名和端口。这是我尝试做的,但是我被卡住了
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))
我要尝试的是从线程中获取变量,并在关闭GUI窗口后使用它。 有办法吗?
答案 0 :(得分:0)
只需更改show_entry_fields方法以包括HOST和PORT变量的全局声明即可。由于Tkinter不期望或处理该函数的返回值,因此return HOST, PORT
行不执行任何操作。
def show_entry_fields():
print("HOST: %s\nPORT: %s" % (e1.get(), e2.get()))
global HOST
global PORT
HOST = e1.get()
PORT = e2.get()