首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python:如何更改数据类型并覆盖导入模块中的变量

Python:如何更改数据类型并覆盖导入模块中的变量
EN

Stack Overflow用户
提问于 2018-07-01 02:00:45
回答 1查看 109关注 0票数 0

我在同一个文件夹中有两个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

代码语言:javascript
复制
var="default"
def show():
    print(var)
if __name__ == '__main__':
   show()

tk_version.py

代码语言:javascript
复制
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的输出

代码语言:javascript
复制
>>> 
=============== RESTART: C:/Users/Gupta Niwas/Desktop/main.py ===============
default
>>>

tk_version.py输出(我已经在输入框中输入了"abc“)

代码语言:javascript
复制
>>> 
============ RESTART: C:/Users/Gupta Niwas/Desktop/tk_version.py ============
default
>>>

我希望变量为StringVar以控制输入框值。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-01 02:45:52

只需在变量名前添加main.即可。

tk_version.py

代码语言:javascript
复制
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()

输出:

代码语言:javascript
复制
abc
>>>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51117323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档