【问题标题】:PyQt5: How to align the elements of the status bar?PyQt5:如何对齐状态栏的元素?
【发布时间】:2018-01-29 04:13:21
【问题描述】:
我创建了一个状态栏,如下所示:
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)
截图如下:
但我想像截图中那样替换进度条和滑块:
【问题讨论】:
标签:
python
qt
pyqt
pyqt5
statusbar
【解决方案1】:
最初的解决方案是使用大于零的拉伸,但这会使 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)
截图: