当我试图从另一个类调用一个函数时,我会遇到很多错误。你知道吗
我想让代码从不同的类运行函数,就像我这样做时一样自我功能因为我不需要其他类的变量。你知道吗
class A(QtWidgets.QMainWindow):
def A_a(self):
self.A_b()
# Bunch of code
def A_b(self):
self.A_c()
# More of code
def A_c(self):
# Even more code
class B(QtWidgets.QMainWindow):
def B_a(self):
# Call Class A Function A
App.A_a(self)
这就产生了错误AttributeError:“B”对象没有属性“A\u A”。在我的例子中,还有其他方法可以从不同的类调用类函数吗?你知道吗
编辑:
我用这个代码:
class A(QtWidgets.QMainWindow):
def A_a(self):
global SelfVariable
SelfVariable = self
self.A_b()
# Bunch of code
def A_b(self):
self.A_c()
# More of code
def A_c(self):
# Even more code
B类(qtwidts.QMainWindow): def Bïa(自身): #调用A类函数 应用程序A(自变量)
我想你想要的是
但是它会抱怨,因为
A.A_a
需要一个类型为A
的实例作为它的第一个参数,而不是类型为B
。。。您可以使B
成为A
的子类,以便调用A
的方法之一。。。但是你可以做self.A_a
或者,可能建议您可以对共享代码使用mixin
甚至只是一个泛型函数
另一个选择是使一个\u c成为类A或类B的静态方法,或者其他什么。。。。基本上,底线是有办法做你想做的事。。。但如果没有更多的信息,很难说什么是正确的方法
相关问题 更多 >
编程相关推荐