继承于 QDialog
import sys,time
from PyQt5.QtWidgets import QApplication, QWidget,QPushButton,QProgressDialog class Demo(QWidget):
def __init__(self):
super().__init__()
self.resize(300,300)
pb=QPushButton('按钮',self)
pb.move(100,250)
pb.clicked.connect(self.AA) self.pd=QProgressDialog('进度提示','取消',1,200,self) #创建进度对话框
#能自动弹出--要最小展示时长之后;也可以用指令展示
#进度条走满时默认自动关闭
#参数1 提示文本
#参数2 按钮文本
#参数3和参数4 进度条的最小值和最大值 self.pd.canceled.connect(self.BB) #取消时发出的信号 self.pd.setMinimumDuration(3) #设置最小展示时长
#在规定时间内进度条走满了就不展示了,没有走满就展示 s=self.pd.minimumDuration() #返回最小展示时长
print(s) self.pd.setAutoClose(False) #进度条走满时是否自动关闭
#True 自动关闭--默认
#要自动关闭的条件:setAutoReset必须为True
#autoClose() 返回是否自动关闭 self.pd.setAutoReset(False) #是否自动重置
#False 不重置--进度条走满时,当前值不返回最小值
#True 默认
#autoReset() 返回是否自动重置 #reset() 重置 self.pd.setMinimum(0) #最小值
self.pd.setMaximum(200) #最大值
self.pd.setRange(0,200) #最小值和最大值 for i in range(0,201):
self.pd.setValue(i)
time.sleep(0.01) def AA(self):
#self.pd.setValue(30) #设置当前值
s=self.pd.value() #返回当前值
#self.pd.setLabelText('xxx') #设置提示文本
#s=self.pd.labelText() #返回提示文本 #self.pd.setCancelButtonText('取消按钮') #按钮文本 s=self.pd.wasCanceled() #返回是否已经取消 #self.pd.cancel() 取消 print(s)
pass def BB(self):
print('取消了') if __name__ == '__main__':
app = QApplication(sys.argv)
demo = Demo()
demo.show()
sys.exit(app.exec_())
天子骄龙