Как я могу скрыть текущий процент выполненных работ в QProgressBar?

Мой progressBar:

введите сюда описание изображения


progressBar, который я хочу:

введите сюда описание изображения

Я хочу убрать эти цифры с progressBar. Помогите пожалуйста.


Ответы (1 шт):

Автор решения: S. Nick

textVisible: bool

Это свойство указывает, должен ли отображаться текущий процент выполненных работ.

Это свойство может игнорироваться стилем (например, QMacStyle никогда не рисует текст).

import sys
from random import randint
from PyQt5.QtCore    import QTimer
from PyQt5.QtWidgets import QWidget, QApplication, QVBoxLayout, QProgressBar


class ProgressBar(QProgressBar):
    def __init__(self, *args, **kwargs):
        super(ProgressBar, self).__init__(*args, **kwargs)
        
        self.setValue(0)
        
        if self.minimum() != self.maximum():
            self.timer = QTimer(self, timeout=self.onTimeout)
            self.timer.start(randint(1, 3) * 1000)

    def onTimeout(self):
        if self.value() >= 100:
            self.timer.stop()
            self.timer.deleteLater()
            del self.timer
            return
        self.setValue(self.value() + 1)


class Window(QWidget):
    def __init__(self, *args, **kwargs):
        super(Window, self).__init__(*args, **kwargs)
        
        layout = QVBoxLayout(self)
        
        pb = ProgressBar(self, minimum=0, maximum=100)
        layout.addWidget(pb)
        
        pb = ProgressBar(self, minimum=0, maximum=100)
        pb.setStyleSheet('text-align: center;')
        layout.addWidget(pb)

#                                                      vvvvvvvvvvvvvvvvv        # !!!        
        pb = ProgressBar(self, minimum=0, maximum=100, textVisible=False)
        layout.addWidget(pb)
                        

if __name__ == "__main__":
    app = QApplication(sys.argv)
    w = Window()
    w.resize(700, 200)
    w.show()
    sys.exit(app.exec_())

введите сюда описание изображения

→ Ссылка