Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 如何将值从一个python脚本类转移到另一个python脚本_Python 2.7_Tkinter - Fatal编程技术网

Python 2.7 如何将值从一个python脚本类转移到另一个python脚本

Python 2.7 如何将值从一个python脚本类转移到另一个python脚本,python-2.7,tkinter,Python 2.7,Tkinter,我需要将两个python脚本类相互连接并传输值。 似乎我在初始化类对象和传递 请注意我的做法,请有人告诉我哪里出了错 这行代码有什么问题 def TransferTreeVal(objSubS): objCM=MainScript.clsMain() print "Transfer value" 一些更详细的代码 ##MainScript.py import os from Tkinter import * import Tkinter as tk import ttk c

我需要将两个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()

您所做的主要错误是,您正在导入包含可执行代码的文件。当您导入SubScript.py时,它将执行底部的代码,该代码将创建一个Tk实例。但是,主脚本也会创建Tk的一个实例,并且在运行的程序中应该只有一个实例

通常,如果您有一个要导入的类,但也希望将其作为独立脚本使用,则可以将独立脚本代码隐藏在如下检查的后面:

if __name__ == "__main__":
    root = tk.Tk()
    objSubS = clsSubS()

这样,只有在执行python SubScript.py时才能执行代码。此外,当您导入下标时,该代码将不会运行

你的问题格式搞砸了。您的一些代码没有正确突出显示。@Bryan,非常感谢您研究我的问题,正如您所说,我只是尝试缩进代码,因此我相信它是可读的。你现在能试着回答吗?如果我还需要什么,请告诉我do@Brayan,非常感谢您对我的帮助,现在让我试试这个解决方案,它让我有点困惑