java消息提醒_实现消息提醒

# coding:gbk

import sys

from PySide2.QtGui import *

from PySide2.QtWidgets import *

from PySide2.QtCore import *

class MainWindow(QWidget):

def __init__(self):

super(MainWindow, self).__init__()

self.resize(200, 200)

self.setWindowTitle('消息')

self.button_ = QPushButton('小强给你发消息了', self)

self.button_.resize(self.size())

self.screen = QApplication.primaryScreen().grabWindow(QApplication.desktop().winId())

self.move((self.screen.rect().size().width() - self.width()),

self.screen.rect().size().height()) # 初始化位置到右下角

self.showAnimation()

def showAnimation(self):

# 显示弹出框动画

self.animation = QPropertyAnimation(self, b"pos")

self.animation.setDuration(1000)

self.animation.setStartValue(QPoint(self.x(), self.y()))

h = (self.screen.rect().size().height() - self.height())-50

w = self.screen.rect().size().width() - self.width()

self.animation.setEndValue(QPoint(w, h))

self.animation.start()

# 设置弹出框1秒弹出,然后渐隐

self.remainTimer = QTimer()

self.remainTimer.timeout.connect(self.closeAnimation)

self.remainTimer.start(5000) # 定时器5秒

def closeAnimation(self):

# 清除Timer和信号槽

self.remainTimer.stop()

self.remainTimer.timeout.disconnect(self.closeAnimation)

self.remainTimer.deleteLater()

self.remainTimer = None

# 弹出框渐隐

self.animation = QPropertyAnimation(self, b"windowOpacity")

self.animation.setDuration(1000)

self.animation.setStartValue(1)

self.animation.setEndValue(0)

self.animation.start()

# 动画完成后清理

self.animation.finished.connect(self.clearAll)

def clearAll(self):

self.animation.finished.disconnect(self.clearAll)

self.close()

if __name__ == '__main__':

app = QApplication.instance()

if not app:

app = QApplication(sys.argv)

ui = MainWindow()

ui.show()

app.exec_()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值