继承QDialog
对话框中会显示一个进度条
目录
1 基本操作
1.1 构造函数
最后的flags是样式,这个我们就不看了
其余有两种方式创建,第一种是只传入父对象
第二种是传入两个字符串,两个整形
第一个字符串是进度条上的标签,第二个是按钮上的字符,第三个是最小值,第四个是最大值
- 上面两个构造函数如果不接展示函数的话运行后点击一下窗口也是可以自动弹出来的,但不会立即弹出来,需要等一会儿
- 当对话框中的进度条走到最大值时,默认会自动关闭对话框并重置进度条进度
1.2 自动关闭进度条
1.2.1 设置 setAutoClose()
我们现在把进度条搞成每0.1s走一个值
经测试,它达到最大值后确实会自动关闭
我们现在不想让它关闭
达到最大值后确实没有关闭而是进行了重置
- 自动关闭的触发条件包括自动重置必须为True
1.2.2 获取 autoClose()
1.3 自动重置进度条
1.3.1 设置 setAutoReset()
刚刚我们设置为不自动关闭,现在我们想对其进行不自动重置
此时确实没有重置,保持了达到最大值的状态
1.3.2 获取 autoReset()
1.3.3 手动重置进度条进度 reset()
我们也可以使用reset()手动重置进度条的进度,在这我就不做测试了
1.4 自动弹出时间
如果在设置的期间,进度条已达到最大值,则该对话框不会被弹出
1.4.1 设置 setMinimumDuration()
设置参数为0,效果是非常明显的,如果设置为其他数值感觉没有这么大的变化
此命令一定要紧跟构造函数,不然不是很明显
我们如果不在后面设置进度条的数值,它也不会立即弹出,我们现在设置进度条数值为50
经测试,确实立即弹出了
1.4.2 获取 minimumDuration()¶
1.5 open()弹出
如果使用open()弹出,括号内可以加函数,函数会在对话框关闭时执行
1.6 判断用户是否点击了取消
点击对话框右下角的cancel与右上角的叉都可以使wasCanceled()返回值为True
1.6.1 获取 wasCanceled()
一般在判定的时候用这个,我们首先直接再下方加一行
现在我们自动增加进度条会出现一个问题,我们点击取消之后,依然会出现下一个进度条
我们现在把用户点击取消放在关闭的条件中
此时我们点取消就可以关闭了
然后现在发现取消了自动关闭与自动重置后,进度条跑完之后又会产生一个新的对话框
这个是因为我们的值跑到99就不会走到100了,而是会返回-1,这个时候我们这样写就好了
1.6.2 设置 cancel()
我们也可以通过代码模拟用户点击取消按键
2 界面内容设置
我们可以使用其他控件作为QProgressDialog的子控件
比如我们现在放一个数值方向的进度条进去
包括进度条上的label,以及下方的cancel按钮,都是可以操作的
3 数值处理
这个和当时设置进度条的效果相同,就不在测试了
4 信号 canceled
当我们关闭对话框或点击取消按钮时,会触发这个信号
我们测试一下这个信号
运行等待几秒后出现对话框,此时我们点击cancel
经测试,按右上角的叉同样会触发该信号