2016-08-02 138 views
0

我想追加一個簡單的字符串到列表和對象中。但我猜測self關鍵字與pyqt窗口有干擾?AttributeError:'窗口'對象沒有屬性'q'

我該如何解決這個問題?

class Window(qt.QMainWindow): 
    def __init__(self, parent=None): 
     super(Window, self).__init__(parent) 
     self.CreateWidgets()  
     self.q = Qfetch.DataFetch() 

    def CreateWidgets(self): 
     toPortfolio = "str" 
     self.q.Portfolio.append(toPortfolio) #<---- This cause the error 

Q類

class DataFetch(): 
    def __init__(self): 
     self.Portfolio = [] 
+0

只是爲了澄清,是CreateWidgets窗口類的函數成員?如果是這樣,它應該在Window類中縮進一個凹口。 –

+0

@FilipHedman是的。我現在修好了。謝謝 – vandelay

回答

4

您試圖在初始化之前獲取的成員q。在self.CreateWidgets()之前調用Qfetch.DataFetch()。

這爲構造函數代碼應工作:

class Window(qt.QMainWindow): 
    def __init__(self, parent=None): 
     super(Window, self).__init__(parent) 
     self.q = Qfetch.DataFetch() 
     self.CreateWidgets()  
+0

多麼尷尬。謝謝! – vandelay

相關問題