2016-08-02 21 views
0

単純な文字列をオブジェクト内のリストに追加しようとしています。しかし、私は自己キーワードがpyqtウィンドウに干渉していると思いますか?AttributeError: 'Window'オブジェクトに '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

だけ明確にするために、Windowクラスの関数メンバCreateWidgetsのですか?そうであれば、Windowクラスの中に1つのノッチをインデントする必要があります。 –

+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

関連する問題