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)
截图:
我创建了一个状态栏,如下所示:
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)
截图: