function.py
class testClass(object):
def functionA(self):
#doSomething
self.Qlabel.clear()
main.py
class mainClass(object):
def __init__(self, parent = #something):
#initialize something
super(mainClass, self).__init__(parent)
self.setupUi(self)
self.Qlabel.clicked.connect(self.testFunc)
def testFunc(self):
import function as FT
FT.testClass().functionA(self)
我盡PyQt的function.py
連接到main.py
。它不斷給我這個TypeError:functionA()只需要1個參數(給定2)。
如果我帶走了「自我」的,這樣它的FT.testClass().functionA()
,然後我得到AttributeError的:「TestClass的」對象有沒有屬性「Qlabel」
我PyQt : accessing elements from outside the class看到它與只使用obj
但不與類。
我想了解如何解決這個問題,以及爲什麼我以前的方法不起作用。任何幫助,將不勝感激!
此外,如果你不想通過當前的類對象,然後做下面的變化 FT.testClass()。泛函() – db1912
我已經嘗試了兩個建議,並且出現了另一個錯誤:AttributeError'testClass'對象沒有'Qlabel'屬性。 –
意味着你現在可以調用函數。但Qlabel不是你的testClass的一部分。可以使testClass的這一部分或導入它。你最好導入它並刪除「自我」。字首。例如。從PyQt.QtCore導入* 從PyQt.QtGui導入*並使用Qlabel.clear() – db1912