class Window(QWidget) :
def init(self) :
super().init()
self.setWindowTitle("展示控件对话框-QProgressDialog进度条 - PyQt5中文网")
self.resize(600, 500)
self.func_list()
def func_list(self) : self.func() def func(self) : # 1.构造函数 ## 1.1 构造方法一 qpd = QProgressDialog('下载进度', '退出', 0, 100, self) # 不需要手动输出,自动弹出,默认自小弹出时长4秒 qpd.setMinimumDuration(0) # 0秒之后打开对话框 qpd.setValue(0) # ## 1.2构造方法二 # qpd = QProgressDialog(self) # qpd.setLabelText('下载进度') # qpd.setCancelButtonText('取消') # qpd.setRange(0, 100) ##2.自动关闭、自动充值、是否取消 # qpd.wasCanceled() # 是否取消 # qpd.setAutoClose(False) # 进度条满格之后不会自动关闭 # qpd.setAutoReset(False) # 进度条加载结束后不会重置 # for i in range(0, 101): # qpd.setValue(i) # 案例 time = QTimer(qpd) def test() : if qpd.value() + 1 >= qpd.maximum() or qpd.wasCanceled() : time.stop() qpd.setValue(qpd.value() + 1) time.timeout.connect(test) time.start(500) # 3.可用信号 # qpd.canceled.connect() #终止信号 qpd.show()
if name == 'main' :
app = QApplication(sys.argv)
window = Window()
window.show() sys.exit(app.exec_())
</details> ## 3.效果 ![](https://www.www.zyiz.net/i/l/?n=22&i=blog/2520904/202204/2520904-20220413221941054-1953015381.gif)