Qt4 如何创建如下图所示的进度条?

Qt4 如何创建如下图所示的进度条?,qt4,qt4.7,Qt4,Qt4.7,这是来自QtSDK安装向导,似乎QProgressBar只支持累计条,他们是如何做到的?Qt的开源版本中包括了吗 蓝盒是放大的还是静态的?它可以是QProgressBar,位于另一个带有动画的控件的顶部。 如果它是静态的,它可以在没有任何QProgressBar的情况下为图像设置动画。蓝色框是放大的还是静态的?它可以是QProgressBar,位于另一个带有动画的控件的顶部。 如果它是静态的,它可以在没有任何QProgressBar的情况下为图像设置动画。它比你想象的更简单。。。您只需在QPro

这是来自QtSDK安装向导,似乎QProgressBar只支持累计条,他们是如何做到的?Qt的开源版本中包括了吗


蓝盒是放大的还是静态的?它可以是QProgressBar,位于另一个带有动画的控件的顶部。
如果它是静态的,它可以在没有任何QProgressBar的情况下为图像设置动画。

蓝色框是放大的还是静态的?它可以是QProgressBar,位于另一个带有动画的控件的顶部。
如果它是静态的,它可以在没有任何QProgressBar的情况下为图像设置动画。

它比你想象的更简单。。。您只需在QProgressBar上设置范围(0,0)。请注意,在所有平台上,它的行为并不完全相同

使用Mac OS X样式,它将如下所示:

蓝色条纹将向右移动

在windows上,它将如下所示(使用Vista/7样式):


绿色指示灯将从左向右显示。当然,它只占进度条的一部分。

它比你想象的要简单。。。您只需在QProgressBar上设置范围(0,0)。请注意,在所有平台上,它的行为并不完全相同

使用Mac OS X样式,它将如下所示:

蓝色条纹将向右移动

在windows上,它将如下所示(使用Vista/7样式):


绿色指示灯将从左向右显示。当然,它只占进度条的一部分。

我认为QParallelLanimationGroup将帮助您实现此功能。您需要使用QImage(“bluebox.jpg”)创建QWidget,然后使用:qParallelLanimationGroup*group=new QParallelLanimationGroup;QPropertyAnimation*anim=新的QPropertyAnimation(图像,“位置”);动画->设定持续时间(750+i*25);动画->设定曲线(QEasingCurve::InOutBack);组->添加动画(动画);我假设QParallellanionGroup将帮助您实现此功能。您需要使用QImage(“bluebox.jpg”)创建QWidget,然后使用:qParallelLanimationGroup*group=new QParallelLanimationGroup;QPropertyAnimation*anim=新的QPropertyAnimation(图像,“位置”);动画->设定持续时间(750+i*25);动画->设定曲线(QEasingCurve::InOutBack);组->添加动画(动画);你能在这里放一个小盒子,这样我就可以测试了吗?只有setRange(0,0)不起作用。请记住,它将依赖于样式。打开Qt设计器并开始使用属性。将最大值更改为0,值将自动更改为-1。尝试使用setMaximum和setValue,可能setRange对输入参数进行了一些“验证”。在不同样式的设计预览表单中,您是否可以在此处放置一个最小的案例,以便我进行测试?只有setRange(0,0)不起作用。请记住,它将依赖于样式。打开Qt设计器并开始使用属性。将最大值更改为0,值将自动更改为-1。尝试使用setMaximum和setValue,可能setRange对输入参数进行了一些“验证”。不同风格的设计预览表