Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.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 如何在PyQt5的选项卡中放置小部件_Python_Pyqt_Pyqt5 - Fatal编程技术网

Python 如何在PyQt5的选项卡中放置小部件

Python 如何在PyQt5的选项卡中放置小部件,python,pyqt,pyqt5,Python,Pyqt,Pyqt5,我目前正在做一个安全摄像头项目。它主要有两个功能: 用脸捕捉视频帧 显示捕获的帧 我成功地为这两个类编写了代码,但当我尝试放置第二个函数时出现了问题 class Iwindow(QMainWindow, gui): def __init__(self, parent=None): QMainWindow.__init__(self, parent) self.setupUi(self) self.cntr, self.numImages = -1, -1 # self.

我目前正在做一个安全摄像头项目。它主要有两个功能:

  • 用脸捕捉视频帧
  • 显示捕获的帧
  • 我成功地为这两个类编写了代码,但当我尝试放置第二个函数时出现了问题

    class Iwindow(QMainWindow, gui):
    def __init__(self, parent=None):
        QMainWindow.__init__(self, parent)
        self.setupUi(self)
        self.cntr, self.numImages = -1, -1  # self.cntr have the info of which image is selected/displayed
        self.image_viewer = ImageViewer(self.label)
        self.showMaximized()
        self.selectFolder.clicked.connect(self.selectDir)
        self.nextImage.clicked.connect(self.nextImg)
        self.prevImage.clicked.connect(self.prevImg)
        self.listView.clicked.connect(self.item_click)
    
    这是来自图像显示的代码。当我尝试将图像查看器放入另一个程序中的选项卡小部件时,当我尝试这样做时,它不会进入选项卡下

    #Create second tab
        self.tab2.layout = QVBoxLayout(self)
        self.imgViewWidget = Iwindow()
        self.tab2.layout.addWidget(self.imgViewWidget)
        self.tab2.layout = QVBoxLayout(self)
    
    这就是我尝试调用widget的时候。 有人能帮我吗

    这是我的代码的最终产品


    尝试查看一下,您似乎正在第二个选项卡中添加项目,但如果您不使用self.Tab2.setCurrentIndex(index)将焦点设置到该选项卡(Tab2),则无法检查是否存在此问题。对于您的案例self.tab2.setCurrentIndex(1)。(第一个选项卡为0,第二个选项卡为1)假设您正在尝试设置
    self.tab2
    的布局,
    self.tab2.layout=QVBoxLayout(self)
    应该是
    self.tab2.layout=QVBoxLayout(self.tab2)
    。另外,对self.tab2.layout的第二个赋值将创建一个新的空布局。