Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 属性错误:';内置函数或方法';对象没有属性';添加布局';_Python_Python 3.x_Pyqt5 - Fatal编程技术网

Python 属性错误:';内置函数或方法';对象没有属性';添加布局';

Python 属性错误:';内置函数或方法';对象没有属性';添加布局';,python,python-3.x,pyqt5,Python,Python 3.x,Pyqt5,我在PyQT5和Python3中有这个UIWidget类,如下所示 class UIWidget(QtWidgets.QWidget): def __init__(self, parent=None): super(UIWidget, self).__init__(parent) # Initialize tab screen self.tabs = QtWidgets.QTabWidget() se

我在
PyQT5和Python3中有这个UIWidget类,如下所示

class UIWidget(QtWidgets.QWidget):    
    def __init__(self, parent=None):
        super(UIWidget, self).__init__(parent)        
        # Initialize tab screen
        self.tabs = QtWidgets.QTabWidget()
        self.tab1 = QtWidgets.QWidget()        

        # Add tabs
        self.tabs.addTab(self.tab1, "Face")

        self.display = PlayStreaming()
        # Create first tab
        self.createGridLayout()
        self.tab1.layout = QtWidgets.QVBoxLayout()
        self.tab1.layout.addWidget(self.display, stretch=1)
        self.tab1.layout.addWidget(self.horizontalGroupBox)
        self.tab1.setLayout(self.tab1.layout)

        # Add tabs to widget
        self.layout = QtWidgets.QVBoxLayout(self)
        self.layout.addWidget(self.tabs)

    def createGridLayout(self):
        hlay1 = QtWidgets.QVBoxLayout()   
        self.horizontalGroupBox = QtWidgets.QGroupBox("")
        self.horizontalGroupBox.setStyleSheet("QGroupBox{ background-color: red; border: none;}")          
        self.ScaleUpButton=QtWidgets.QPushButton('ScaleUp')
        self.ScaleUpButton.clicked.connect(self.display.scaleupSignal)
        hlay1.addWidget(self.ScaleUpButton) 
        self.ScaleDownButton=QtWidgets.QPushButton('ScaleDown')
        self.ScaleDownButton.clicked.connect(self.display.scaledownSignal)
        hlay1.addWidget(self.ScaleDownButton) 
        self.resetButton=QtWidgets.QPushButton('Reset')
        hlay1.addWidget(self.resetButton)
        self.resetButton.clicked.connect(self.display.resetallarraysSignal)
        self.RecognizeButton=QtWidgets.QPushButton('Recognize')
        self.RecognizeButton.clicked.connect(self.display.send_signal)
        hlay1.addWidget(self.RecognizeButton)             
        self.layout.addLayout(hlay1)
        self.horizontalGroupBox.setLayout(self.layout)
正在尝试将
垂直布局分配到水平布局

此行
self.layout.addLayout(hlay1)
有如下错误

AttributeError: 'builtin_function_or_method' object has no attribute 'addLayout'

如何解决此错误?

在运行
\uuu init\uu
中的
self.layout=QtWidgets.QVBoxLayout(self)
行之前,您正在尝试访问
self.layout
。因此,
self.layout
是最重要的


您可能希望使用一个不同的名称,以避免与
qtwidts.QWidget
上的方法发生冲突。

\u init\u
中的
self.layout=qtwidts.QVBoxLayout(self)
行运行之前,您正试图访问
self.layout。因此,
self.layout
是最重要的


您可能希望使用一个不同的名称,以避免与
QtWidgets.QWidget
上的方法发生冲突。

self.layout
更改为
self。另一个名称
,因为布局是小部件的一种方法,所以您会覆盖它,这总是会给您带来问题
self.另一个_名称
,因为布局是小部件的一种方法,所以您要覆盖它,这总是会带来问题