优点:
1、完美覆盖整个窗口,阻止点击事件
2、不会阻塞窗口
3、窗口拖动时自动跟随
4、可以使用 gif动图,也可以使用文字
5、使用简单,开包即用
#-*- coding: utf-8 -*
__author__ = 'geebos'
from PyQt5.Qt import *
import time
class LoadingMask(QMainWindow):
def __init__(self, parent, gif=None, tip=None, min=0):
"""
gif优先级高于 tip,两者同时赋值优先使用 gif
:param parent:
:param gif:
:param tip:
:param min:
"""
super(LoadingMask, self).__init__(parent)
self.min = min
self.show_time = 0
parent.installEventFilter(self)
self.label = QLabel()
if not tip is None:
self.label.setText(tip)
font = QFont('Microsoft YaHei', 10, QFont.Normal)
font_metrics = QFontMetrics(font)
self.label.setFont(font)
self.label.setFixedSize(font_metrics.width(tip, len(tip))+10, font_metrics.height()