我在同一个文件夹中有两个python程序,名为 main.py 和 tk_version.py ,我在tk_version.py中导入main.py,在main.py中有一个变量,该变量具有默认值,现在在tk_version.py中,我从使用Tkinter GUI的用户处获取变量的值。
所以我想要的是,当main.py被执行时,常量值必须被获取,而当tk_version.py被执行时,用户给出的值将覆盖默认值。
示例:
main.py
var="default"
def show():
print(var)
if __name__ == '__main__':
show()
tk_version.py
from tkinter import *
import main
Main = Tk()
var= StringVar()
def e1chk():
global var
var = e1.get()
main.show()
return
e1=Entry(Main,textvariable=var,width=50)
e1.grid(row=0,column=5,sticky=NSEW)
b1=Button(Main,text="Save",command=e1chk)
b1.grid(row=0,column=8,sticky=NSEW)
Main.mainloop()
main.py的输出
>>>
=============== RESTART: C:/Users/Gupta Niwas/Desktop/main.py ===============
default
>>>
tk_version.py的输出(我已经在输入框中输入了"abc“)
>>>
============ RESTART: C:/Users/Gupta Niwas/Desktop/tk_version.py ============
default
>>>
我希望变量为StringVar以控制输入框值。
发布于 2018-07-01 02:45:52
只需在变量名前添加main.
即可。
tk_version.py
from tkinter import *
import main
Main = Tk()
main.var = StringVar()
def e1chk():
main.var = e1.get()
main.show()
return
e1 = Entry(Main, textvariable=main.var, width=50)
e1.grid(row=0, column=5, sticky=NSEW)
b1 = Button(Main, text="Save", command=e1chk)
b1.grid(row=0, column=8, sticky=NSEW)
Main.mainloop()
输出:
abc
>>>
https://stackoverflow.com/questions/51117323
复制相似问题