圆形按键,按键包围圆形进度条,进度条倒计时,倒计时结束自动隐藏,带渐隐渐现功能
样式展示
在这里插入图片描述
代码实现
代码展示
// An highlighted block
#-*- encoding:utf-8 -*-
import sys
from PyQt5 import QtGui, QtWidgets, QtCore
class ComboButton(QtWidgets.QWidget):
def __init__(self, parent=None):
super(ComboButton, self).__init__(parent)
self.setFixedSize(200, 130)
self.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
# self.setWindowFlags(QtCore.Qt.FramelessWindowHint | QtCore.Qt.Tool)
self.setAttribute(QtCore.Qt.WA_TranslucentBackground, True)
self.percent = 100 # 百分百
self.rotateAngle = 0 # 旋转角度
self.backMap = QtGui.QPixmap("z/gamelive/common/progress_back.png")
self.pOpacityEffect = QtWidgets.QGraphicsOpacityEffect(self)
self.setGraphicsEffect(self.pOpacityEffect)
self.pOpacityEffect.setOpacity(1)
self.opacity_animation = QtCore.QPropertyAnimation(self.pOpacityEffect, b"opacity")
self.opacity_animation.setDuration(1000)
self.opacity_animation.setEasingCurve(QtCore.QEasingCurve.OutQuad)
self.combo = 1
self.countDownMixTime = 100 # 倒计时最大时间
self.countDownTime = 0 # 倒计时时间
self.countDown = QtCore.QTimer(self)
self.countDown.setInterval(100<