📜  PyQt5 – 进度条的 setTextVisible() 方法(1)

📅  最后修改于: 2023-12-03 15:04:00.628000             🧑  作者: Mango

PyQt5 – 进度条的 setTextVisible() 方法

在PyQt5中,我们可以使用QProgressBar小部件来创建进度条。QProgressBar是一个水平或垂直的小部件,用于表示运行到目标的进度。

setTextVisible()是QProgressBar的一个方法,它用于设置进度条中是否应该显示进度百分比的文本。如果将其设置为True,则在进度条上显示进度的百分比。否则,仅显示进度条,不显示进度百分比文本。

progress_bar.setTextVisible(True)

在上面的代码中,我们将进度条的setTextVisible()方法设置为True,以显示进度百分比文本。如果需要隐藏该文本,则可以将方法设置为False。

progress_bar.setTextVisible(False)

当在进度条中设置setTextVisible(True)时,文本的精度可以设置为固定的小数位数。

progress_bar.setFormat("%p%")

在上述代码中,“%p%”将数字转换为百分比格式,即“25%”。

因此,您可以根据具体需求灵活使用setTextVisible()方法,以便更好地显示进度条的信息。

完整示例代码

以下是一个简单的PyQt5应用程序。它显示一个进度条,并在进度条中显示进度百分比文本。当进度条到达100%时,程序将显示“完成”消息。

import time
from PyQt5.QtWidgets import QApplication, QMainWindow, QProgressBar, QLabel

class ProgressBar(QMainWindow):

    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):

        self.setWindowTitle("ProgressBar Example")
        self.setGeometry(100, 100, 400, 250)

        label = QLabel("Progress Bar Example", self)
        label.move(100, 20)

        self.progress_bar = QProgressBar(self)
        self.progress_bar.setGeometry(30, 80, 330, 30)
        self.progress_bar.setValue(0)

        self.show()

        self.runProgress()

    def runProgress(self):

        for i in range(101):
            time.sleep(0.05)

            self.progress_bar.setValue(i)
            self.progress_bar.setFormat("%p%")

            if i == 100:
                self.statusBar().showMessage("Completed!")
                break

if __name__ == '__main__':

    app = QApplication([])
    window = ProgressBar()
    app.exec_()

在这个示例中,我们创建了一个名为“ProgressBar”的类,该类继承了QMainWindow,并使用了QLabel和QProgressBar小部件。我们还在进度条的状态栏中显示了一个完成消息。运行此示例时,我们将看到进度条的百分比文本逐渐递增,当达到100%时,程序将显示“完成”消息。