iam在tkinter上工作iam使用filedialog上传文件我的目标是有拖车按钮。 button1用于上传txt文件 button2用于处理文件,参见我当前的功能设置
class procFile:
def uploadFile(self, filename):
self.filename = filename
def displayName(self):
return self.filename
def filePath(self):
print("%s" %self.filename)
def main():
upload = procFile()
upload.uploadFile(filedialog.askopenfilename(filetypes=(('txt', '*.txt'), ('All Files', '*.*'))))
upload.filePath()
我需要另一个按钮来启动另一个从主函数
访问变量的函数答案 0 :(得分:0)
虽然您提供详细信息的问题很少,但这有两种方式可以达到我对您的问题的理解。
如果要访问类外的函数中的类变量,则:
class Class:
# do something
# example:
def __init__(self):
self.var = 2
print(self.var)
def outsideFunc():
# operations you want to do
# example:
print(a.var * 3)
结果
>> a = Class()
2
>> outsideFunc()
6
请注意,outsideFunc()
可以在程序中随时定义。但是,您只能在初始化课程后调用outsideFunc()
。
原因是filepath
是类procfile
的一个实例,只有在初始化类时才会定义它。初始化类之后的句点可以跟随各种对象,例如函数Class.func()
,变量Class.var
或甚至嵌套类Class.subClass
如果要访问类中的类变量,那么:
class Class:
# do something
# example:
def __init__(self):
self.var = 4
print(self.var)
def func(self):
# operations you want to do
# example
print(self.var + 5)
结果
>> b = Class()
4
>> b.func()
9
执行与之前相同的操作,然后通过类中的self.var
访问变量。
方法1 要求在外部函数中调用类变量时,它必须与用于初始化类的变量名相同。所以当你执行a = Class()
时,引用初始化类的类之外的任何函数都必须执行a.object
,其中object可以是函数,变量或子类。
方法2 需要相同的东西。但是,当类中的函数引用其中一个变量时,它需要使用self.object
,其中object可以是函数,变量或子类。
两者都要求您首先使用varName = className()
启动类,其中varName只是用于引用类的变量。然后,您像以前一样使用varName.object