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)