En este artículo veremos cómo mostrar los valores decimales en la barra de progreso. Podemos establecer el valor en la barra de progreso usando el setValue
método, pero toma un número entero como argumento. Si tratamos de pasar el valor flotante o doble, automáticamente los convertirá en enteros.
Para poder hacer esto tenemos que hacer lo siguiente:
- Cambie el valor de rango máximo de la barra de progreso, por defecto es de 0 a 100. Si queremos mostrar 1 valor decimal configúrelo en 100*n aquí ‘n’ será 10, si queremos mostrar 2 valores decimales configúrelo a 100*n aquí n será 100 y así sucesivamente.
- Establezca el valor de la barra de progreso multiplicándolo por ‘n’.
- Utilice el método de formato para mostrar el valor decimal.
A continuación se muestra la implementación.
# importing libraries from PyQt5.QtWidgets import * from PyQt5 import QtCore, QtGui from PyQt5.QtGui import * from PyQt5.QtCore import * import sys class Window(QMainWindow): def __init__(self): super().__init__() # setting title self.setWindowTitle("Python ") # setting geometry self.setGeometry(100, 100, 600, 400) # calling method self.UiComponents() # showing all the widgets self.show() # method for widgets def UiComponents(self): # creating progress bar bar = QProgressBar(self) # setting geometry to progress bar bar.setGeometry(200, 150, 200, 30) # setting value of n for 2 decimal values n = 100 # setting maximum value for 2 decimal points bar.setMaximum(100 * n) # value in percentage value = 75.55 # setting the value by multiplying it to 100 bar.setValue(value * n) # displaying the decimal value bar.setFormat("%.02f %%" % value) # setting alignment to centre bar.setAlignment(Qt.AlignCenter) # create pyqt5 app App = QApplication(sys.argv) # create the instance of our Window window = Window() # start the app sys.exit(App.exec())
Producción :
Publicación traducida automáticamente
Artículo escrito por rakshitarora y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA