PyQt5 - 单窗体的循环渐入渐出(QTimer)

2024-02-15 09:59

本文主要是介绍PyQt5 - 单窗体的循环渐入渐出(QTimer),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

    self.timer = QTimer(Test_Transparent)self.timer.start(50)self.timer.timeout.connect(self.show)#counter用于根据计时器更新窗体透明度self.counter = 1#degree用于控制透明度的增减性(“显示-透明-显示-透明”为一个循环周期)self.degree = -0.03def show(self):if self.counter >= 1:time.sleep(3)self.counter -= 0.01self.degree *= -1else:window.setWindowOpacity(self.counter)self.counter -= self.degreeif self.counter < 0:self.degree *= -1self.counter = 0.01


实例:【心灵毒鸡汤的淡入淡出显示】

from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QApplication,QDialog
from PyQt5.QtCore import QTimer,Qt
import sys
import time
import randomclass Ui_Test_Transparent(object):def setupUi(self, Test_Transparent):Test_Transparent.setObjectName("Test_Transparent")Test_Transparent.resize(850, 620)Test_Transparent.setMinimumSize(QtCore.QSize(850, 620))Test_Transparent.setMaximumSize(QtCore.QSize(850, 620))icon = QtGui.QIcon()icon.addPixmap(QtGui.QPixmap("./img/icon.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)Test_Transparent.setWindowIcon(icon)Test_Transparent.setWindowOpacity(1)#Test_Transparent.setWindowFlags(Qt.FramelessWindowHint)self.label = QtWidgets.QLabel(Test_Transparent)self.label.setEnabled(False)self.label.setGeometry(QtCore.QRect(0, 0, 851, 621))self.label.setStyleSheet("")self.label.setText("")self.label.setPixmap(QtGui.QPixmap("./img/x.jpg"))self.label.setScaledContents(True)self.label.setObjectName("label")self.label_2 = QtWidgets.QLabel(Test_Transparent)self.label_2.setGeometry(QtCore.QRect(155, 130, 551, 341))font = QtGui.QFont()font.setPointSize(15)self.label_2.setFont(font)self.label_2.setWordWrap(True)self.label_2.setObjectName("label_2")self.retranslateUi(Test_Transparent)QtCore.QMetaObject.connectSlotsByName(Test_Transparent)def retranslateUi(self, Test_Transparent):_translate = QtCore.QCoreApplication.translateTest_Transparent.setWindowTitle(_translate("Test_Transparent", "心灵毒鸡汤"))self.timer = QTimer(Test_Transparent)self.timer.start(50)self.timer.timeout.connect(self.show)#语录列表a1 = "我感觉我也累了,不折腾了。可能我不配幸福吧,我认命了。"a2 = "我以为我能逗你笑你就会喜欢我,可我却输给了让你哭的人。"a3 = "若能避开猛烈的欢喜,自然不会有悲痛袭来。"a4 = "大学一转眼四年就过去了。"self.sentense = [a1,a2,a3,a4]self.label_2.setText(random.choice(self.sentense))#counter用于根据计时器更新窗体透明度self.counter = 1#degree用于控制透明度的增减性(“显示-透明-显示-透明”为一个循环周期)self.degree = -0.03def show(self):if self.counter >= 1:time.sleep(4)self.counter -= 0.01self.degree *= -1else:window.setWindowOpacity(self.counter)self.counter -= self.degreeif self.counter < 0:self.label_2.setText(random.choice(self.sentense))self.degree *= -1self.counter = 0.01if __name__ == "__main__":app = QApplication(sys.argv)window = QDialog()ui = Ui_Test_Transparent()ui.setupUi(window)window.show()sys.exit(app.exec_())

 

这篇关于PyQt5 - 单窗体的循环渐入渐出(QTimer)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/711079

相关文章

基于Python+PyQt5打造一个跨平台Emoji表情管理神器

《基于Python+PyQt5打造一个跨平台Emoji表情管理神器》在当今数字化社交时代,Emoji已成为全球通用的视觉语言,本文主要为大家详细介绍了如何使用Python和PyQt5开发一个功能全面的... 目录概述功能特性1. 全量Emoji集合2. 智能搜索系统3. 高效交互设计4. 现代化UI展示效果

Python+PyQt5实现MySQL数据库备份神器

《Python+PyQt5实现MySQL数据库备份神器》在数据库管理工作中,定期备份是确保数据安全的重要措施,本文将介绍如何使用Python+PyQt5开发一个高颜值,多功能的MySQL数据库备份工具... 目录概述功能特性核心功能矩阵特色功能界面展示主界面设计动态效果演示使用教程环境准备操作流程代码深度解

Python+PyQt5实现文件夹结构映射工具

《Python+PyQt5实现文件夹结构映射工具》在日常工作中,我们经常需要对文件夹结构进行复制和备份,本文将带来一款基于PyQt5开发的文件夹结构映射工具,感兴趣的小伙伴可以跟随小编一起学习一下... 目录概述功能亮点展示效果软件使用步骤代码解析1. 主窗口设计(FolderCopyApp)2. 拖拽路径

PyQt5 QDate类的具体使用

《PyQt5QDate类的具体使用》QDate是PyQt5中处理日期的核心类,本文主要介绍了PyQt5QDate类的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录核心功能常用方法及代码示例​1. 创建日期对象​2. 获取日期信息​3. 日期计算与比较​4. 日

Nginx部署React项目时重定向循环问题的解决方案

《Nginx部署React项目时重定向循环问题的解决方案》Nginx在处理React项目请求时出现重定向循环,通常是由于`try_files`配置错误或`root`路径配置不当导致的,本文给大家详细介... 目录问题原因1. try_files 配置错误2. root 路径错误解决方法1. 检查 try_f

Python+PyQt5开发一个Windows电脑启动项管理神器

《Python+PyQt5开发一个Windows电脑启动项管理神器》:本文主要介绍如何使用PyQt5开发一款颜值与功能并存的Windows启动项管理工具,不仅能查看/删除现有启动项,还能智能添加新... 目录开篇:为什么我们需要启动项管理工具功能全景图核心技术解析1. Windows注册表操作2. 启动文件

Spring三级缓存解决循环依赖的解析过程

《Spring三级缓存解决循环依赖的解析过程》:本文主要介绍Spring三级缓存解决循环依赖的解析过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、循环依赖场景二、三级缓存定义三、解决流程(以ServiceA和ServiceB为例)四、关键机制详解五、设计约

PyQt5+Python-docx实现一键生成测试报告

《PyQt5+Python-docx实现一键生成测试报告》作为一名测试工程师,你是否经历过手动填写测试报告的痛苦,本文将用Python的PyQt5和python-docx库,打造一款测试报告一键生成工... 目录引言工具功能亮点工具设计思路1. 界面设计:PyQt5实现数据输入2. 文档生成:python-

Spring 中的循环引用问题解决方法

《Spring中的循环引用问题解决方法》:本文主要介绍Spring中的循环引用问题解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录什么是循环引用?循环依赖三级缓存解决循环依赖二级缓存三级缓存本章来聊聊Spring 中的循环引用问题该如何解决。这里聊

C# foreach 循环中获取索引的实现方式

《C#foreach循环中获取索引的实现方式》:本文主要介绍C#foreach循环中获取索引的实现方式,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、手动维护索引变量二、LINQ Select + 元组解构三、扩展方法封装索引四、使用 for 循环替代