def initUi(self):
        self.sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding,
                                            QtGui.QSizePolicy.Expanding)

        self._pbHeight = 30

        self.setMinimumWidth(self._width)
        #self.setMaximumWidth(self._width)
        self.setMinimumHeight(self._minHeight)

        self.glayout = QtGui.QGridLayout(self)

        self.totalProgressBar = QtGui.QProgressBar(self)
        self.totalProgressBar.setMinimumHeight(self._pbHeight)
        self.totalProgressBar.setMaximumHeight(self._pbHeight)

        self.toggleButton = QtGui.QPushButton('Details', self)
        self.toggleButton.setCheckable(True)
        self.toggleButton.toggled.connect(self.showDetails)
        self.glayout.addWidget(self.totalProgressBar, 0, 0, 1, 1)
        self.glayout.addWidget(self.toggleButton, 0, 1, 1, 1)

        #styleSheet = """.QProgressBar {
        #border: none;
        #border-radius: 3px;
        #text-align: center;
        #background-color: rgba(37, 37, 37, 50%);
        #color: white;
        #margin: 1px;
        #border-bottom-left-radius:5px;
        #border-top-left-radius:5px;
        #}

        #.QProgressBar::chunk {
        #background-color: #05B8CC;
        #border-radius: 3px;
        #}

        #.OverlayProgressWidget {
        #background-color: white;
        #}

        #"""
        ## set stylesheet for all progressbars in this widget
        #self.setStyleSheet(styleSheet)

        parent = self.parent()
        xAnchor = parent.width() - self._width - self._margin
        yAnchor = self._margin
        self.setGeometry(xAnchor, yAnchor, self._width, self._minHeight)
    def _addProgressBar(self, worker):
        progressBar = QtGui.QProgressBar(self)
        progressBar.setMinimumHeight(self._pbHeight - 5)
        progressBar.setMaximumHeight(self._pbHeight - 5)
        label = QtGui.QLabel(worker.name, self)
        if not self.toggleButton.isChecked():
            progressBar.hide()
            label.hide()
        row = self._addedBars + 1
        self.glayout.addWidget(progressBar, row, 0, 1, 1)
        self.glayout.addWidget(label, row, 1, 1, 1)
        self._addedBars += 1
        self._detailProgressBars.append((progressBar, label))
        worker.progressChanged.connect(progressBar.setValue)
        worker.progressChanged.connect(self.calculateTotalProgress)

        worker.progressChanged.connect(self.debugProgressChanged)