📜  PyQt5 |如何在进度条中显示十进制值?

📅  最后修改于: 2022-05-13 01:54:44.511000             🧑  作者: Mango

PyQt5 |如何在进度条中显示十进制值?

在本文中,我们将了解如何在进度条中显示十进制值。我们可以使用setValue方法设置进度条中的值,但它需要整数作为参数。如果我们尝试传递 float 或 double 值,它会自动将它们转换为整数。

为此,我们必须执行以下操作:

  1. 更改进度条的最大范围值,默认为 0 到 100。如果我们要显示 1 个十进制值,请将其设置为 100*n,此处“n”将为 10,如果我们要显示 2 个十进制值,请设置它到 100*n 这里 n 将是 100 等等。
  2. 通过将值乘以“n”来设置进度条的值。
  3. 使用格式方法显示十进制值。

下面是实现。

# 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())

输出 :