问题出在对`self.progressBar._animate()`的调用上。在原来的代码中,`_animate`方法是由定时器触发的,通过每隔一段时间自动增加进度值来实现滚动效果。但在新的代码中,直接调用`_animate`方法只会让进度值增加一次,并不能形成动画效果。
解决方法是将`self.progressBar._animate()`的调用移除,而是让定时器自动触发`_animate`方法。在原来的代码中,`startAnimation`方法已经启动了定时器,所以只需要保持定时器的运行即可:
# 设置滚动条初始值为0
self.progressBar.setValue(0)
# 调用滚动条的方法
self.progressBar.scrollToCenter()
self.progressBar.startAnimation()
# 判断滚动条是否达到 100%
print(progressBar.value())
input('...')
if self.progressBar.value() == 100:
# 打开主窗口
mainWindow = MainWindow()
mainWindow.show()
self.close() # 关闭当前窗口
else:
event.ignore() # 忽略关闭事件
这样,进度条就可以正常滚动了。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |