📅  最后修改于: 2023-12-03 15:04:00.628000             🧑  作者: Mango
在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%时,程序将显示“完成”消息。