我是python的新手,使用多个python文件构建工具,我想跟踪另一个文件中声明的变量,导入类时我可以看到它的变量和方法,但是可以'访问它们 正如我所提到的,我有三个文件,感谢您的帮助 我创建的文件是 浏览器 ToolColumns 映射
在Mapping I中尝试跟踪Browser和ToolColumns中定义的变量,下面是我的代码
ToolColumns
from tkinter import *
import tkinter as tk
#
# ---------Create Tool Required Columns---------#
class ToolCols:
def tool_cols(self):
global vart
self.vart = StringVar()
self.vart.set("Tool Columns ") # default value
# self.vart.trace("w", Mapping.mapping)
w = OptionMenu(Tk(useTk=0).master, self.vart, "Controller", "Compound",
"Strategy", "Block", "FBM", "Contained Name", "Parent Name")
w.config(width=18)
w.grid(column=0, row=5, sticky='W')
return self.vart
浏览器
import tkinter as tk
from tkinter import *
from tkinter import filedialog
import pandas as pd
import os
#
# ---------Excel File Browsing---------#
class Browse:
#
# -------Get excel columns-------#
def exl_cols(self, x):
self.x = tk.StringVar()
y = tuple(x)
global varx
self.varx = tk.StringVar()
self.varx.set('Excel Columns')
# self.varx.trace("w", Mapping.mapping)
self.cols_menu = OptionMenu(Tk(useTk=0).master, self.varx, *y)
self.cols_menu.grid(column=1, row=5, sticky='NEW')
return self.varx
映射
from Browser import *
from ToolColumns import *
import tkinter as tk
#
# -------Create mapping-------#
class Mapping:
def get_map(self):
Browse.varx.trace("w", self.mapping)
ToolCols.vart.trace("w", self.mapping)
print(Browse.varx.get())
print(ToolCols.vart.get())
self.mapping(self)
def mapping(self):
print('hi')
global Controller
global Compound
tool_sel = self.b.vart.get()
exl_sel = ToolCols.varx.get()
if tool_sel == "Controller":
self.Controller = exl_sel
return self.Controller
elif tool_sel == "Compound":
self.Compound = exl_sel
return self.Compound
def mapdisplay(self, *args):
self.label4 = tk.Label(text=ToolCols.vart.get() + "<>" + Browse.varx.get(),
bg="White", width=83, height=5)
self.label4.grid(column=0, row=11, sticky='W', columnspan=2)