PyQt5: Как выровнять элементы строки состояния?
Я создал строку состояния, которая выглядит следующим образом:
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)
Снимок экрана ниже:
Но я хочу заменить индикатор выполнения и ползунок, как на этом скриншоте:
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)
Скриншот: