PyQt5:如何对齐状态栏的元素?

PyQt5: How to align the elements of the status bar?

我创建了一个状态栏,如下所示:

def initStatusbar(self):
    self.zoomSlider = QSlider(Qt.Horizontal)
    self.zoomSlider.setMaximumWidth(200)
    self.zoomSlider.setRange(1, 200)
    self.zoomSlider.setSingleStep(10)
    self.zoomSlider.setValue(100)

    self.progressbar = QProgressBar()
    self.progressbar.setMaximumWidth(400)
    self.statusBar().addWidget(self.progressbar)
    self.statusBar().addWidget(self.zoomSlider)

截图如下:

但我想像屏幕截图中那样替换进度条和滑块:

最初的解决方案是使用大于零的拉伸,但这会使 QProgressBar 拉伸无限制,在这种情况下,最好将它包含在另一个小部件中并将其嵌入 QStatusBar。

def initStatusbar(self):
    self.zoomSlider = QSlider(Qt.Horizontal)
    self.zoomSlider.setMaximumWidth(200)
    self.zoomSlider.setRange(1, 200)
    self.zoomSlider.setSingleStep(10)
    self.zoomSlider.setValue(100)

    self.progressbar = QProgressBar()
    self.progressbar.setMaximumWidth(400)

    widget = QWidget(self)
    widget.setLayout(QHBoxLayout())
    widget.layout().addWidget(self.progressbar)
    widget.layout().addWidget(self.zoomSlider)
    self.statusBar().addWidget(widget, 1)

截图: