我需要将两个python脚本类相互连接并传输值。 我似乎犯了一些错误来初始化类对象并传递 价值请注意我遵循的方式,有人请告诉我我的错误。
这行代码有什么问题
def TransferTreeVal(objSubS):
objCM=MainScript.clsMain()
print "Transfer value"
一些更详细的代码
##MainScript.py
import os
from Tkinter import *
import Tkinter as tk
import ttk
class clsMain():
def __init__ (objCM):
root['width']=500
root['height']=400
root['bg']='brown'
objCM.MethodDisplay()
def MethodDisplay(objCM):
print "display windows"
root=tk.Tk()
objCM = clsMain()
root.mainloop()
##SubScript.py
import os
from Tkinter import *
import Tkinter as tk
import ttk
import MainScript
class clsSubS():
def __init__ (objSubS):
root['width']=500
root['height']=500
root['bg']='brown'
objSubS.DispWin()
def TransferTreeVal(objSubS):
objCM=MainScript.clsMain()
print "Transfer value"
root=tk.Tk()
objSubS = clsSubS()
答案 0 :(得分:0)
你做错的主要是你导入的文件中包含可执行代码。导入SubScript.py时,它将执行底部的代码,该代码将创建Tk
的实例。但是,您的主脚本还会创建Tk
的实例,并且您应该只在运行的程序中有一个实例。
通常情况下,如果您要导入一个类,但是您也希望将其用作独立脚本,则可以隐藏"支票背后的独立脚本代码如下:
if __name__ == "__main__":
root = tk.Tk()
objSubS = clsSubS()
这样,只有python SubScript.py
才能执行代码。此外,导入SubScript时,该代码将不运行。