QT遮罩层实现等待加载效果
时间: 2023-09-30 21:10:40 浏览: 207
Qt实现遮罩窗口。。。。
要实现等待加载效果,可以使用QT的遮罩层和QMovie动画。
首先,创建一个QWidget作为遮罩层,将其背景色设置为半透明的黑色,然后将其大小设置为整个窗口大小。
接着,使用QMovie加载一个动画gif,将其放置在遮罩层中心,启动动画。
最后,在需要等待加载的位置,将遮罩层显示出来,等待加载完成后隐藏遮罩层即可。
以下是一个简单的示例代码:
```python
class LoadingMask(QWidget):
def __init__(self, parent):
super().__init__(parent)
self.setFixedSize(parent.size())
self.setStyleSheet('background-color: rgba(0, 0, 0, 128);')
self.movie = QMovie('loading.gif')
self.movie.setScaledSize(QSize(100, 100))
label = QLabel(self)
label.setMovie(self.movie)
label.move(self.width() // 2 - 50, self.height() // 2 - 50)
def start(self):
self.movie.start()
def stop(self):
self.movie.stop()
self.hide()
```
使用时,在需要等待加载的位置创建一个LoadingMask实例,并调用start方法显示遮罩层和动画,加载完成后调用stop方法隐藏遮罩层即可。
阅读全文