AttributeError:'窗口'对象没有属性'q'
问题描述:
我想追加一个简单的字符串到列表和对象中。但我猜测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 = []
答
您试图在初始化之前获取的成员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
只是为了澄清,是CreateWidgets窗口类的函数成员?如果是这样,它应该在Window类中缩进一个凹口。 –
@FilipHedman是的。我现在修好了。谢谢 – vandelay