Qt文本的淡入淡出

2023-11-12

Qt文本的淡入淡出

对于写在Qlabel中的文本,想对其实现淡入和淡出的特效,需要用到QGraphicsOpacityEffect,并搭配计时器使用。

示例如下。

.h文件:

#include <QGraphicsOpacityEffect>
#include <QTImer>

QTimer *opacity_timer = nullptr;
QGraphicsOpacityEffect *effect = nullptr;
QLabel *meet = nullptr;

float opa_level = 0;
bool lighter = true;

.cpp文件

构造函数{
    meet = new QLabel(this);
    meet -> move(130,500);
    meet -> setText("Test");
    meet -> setStyleSheet("color:white;font-size:32pt;font-family:黑体;");
    effect = new QGraphicsOpacityEffect(this);
    effect->setOpacity(opa_level);
    meet -> setGraphicsEffect(effect);

    opacity_timer = new QTimer(this);
    connect(opacity_timer,SIGNAL(timeout()),this,SLOT(opacitySlot()));
    opacity_timer -> start(30);
    
	connect(this,SIGNAL(opacity_timer_stop()),this, SLOT(opacity_timer_shutdown()));
}

void opacitySlot()
{
    if(lighter)  //淡入
    {
        opa_level += 0.02;
        effect->setOpacity(opa_level);
        meet -> setGraphicsEffect(effect);
        if(opa_level > 1){
            QEventLoop eventloop;
            QTimer::singleShot(3000, &eventloop, SLOT(quit()));	//持续3秒
            eventloop.exec();

            lighter = false;
        }
    }
    else  //淡出
    {
        opa_level -= 0.02;
        effect->setOpacity(opa_level);
        meet -> setGraphicsEffect(effect);
        if(opa_level < 0){
            meet -> hide();
            emit(opacity_timer_stop());
        }
    }

}

void opacity_timer_shutdown()
{
    opacity_timer -> stop();
}

这样最终的效果就是Test文本慢慢显现,显示3秒后又慢慢消失。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Qt文本的淡入淡出 的相关文章

  • 在没有加载器的情况下实例化内联组件

    有没有办法实例化内联Component 即在同一文件中定义 而不使用Loader 我不太关心使用的性能影响Loader因为我要用很多东西污染我的文件Loader包装纸 我发现从 JavaScript 创建动态 QML 对象 http doc
  • 如何在 OS X 上的 Qt 应用程序中设置应用程序图标,足以进行分发?

    跟进这个答案 https stackoverflow com a 20918932 368896 to 这个问题 https stackoverflow com questions 20909341 what is the fastest
  • 如何让小部件在上下文菜单出现时接收鼠标释放事件

    在Ubuntu20 04上 当上下文菜单出现时 我无法让小部件接收鼠标释放事件 而Windows可以接收 我的pyqt版本是5 15 2 我考虑过手动发送鼠标释放事件 但我不知道当上下文菜单出现时哪些系统会收到鼠标释放事件 这样做可能会导致
  • QT:删除QGridLayout中QLabel之间的空格

    我将一些具有不同颜色的 QLabels 添加到 QGridLayout 作为 QWidget 的布局 现在我在每个 Qlabel 与下一个 Qlabel 之间有一个间距 我想将其删除 我尝试将标签的边距设置为 0 将 GridLayout
  • 使用 CMake 编译时更改头文件位置会导致缺少 vtable 错误

    对于一个大型 C 项目 我需要从 qmake 过渡到 CMake 但是在处理一个玩具示例时 我遇到了一些我不理解的行为 示例代码具有单个头文件 当该头文件移动到子目录中时 我收到 MainWindow 类缺少 vtable 的错误 CMak
  • 完全彻底卸载QT Creator

    问题 如何从 Linux 机器上卸载 QT Creator 我的 Debian Jessie 机器上的安装已损坏 我尝试过重新安装 修复等 但没有成功 建议我完全卸载 获取最新版本并重新安装 问题是我不确定如何执行此操作 每次我尝试时 QT
  • 是否有 Qt 小部件可以浏览应用程序中小部件的层次结构(类似于 Spy++)?

    我们有一个具有复杂的小部件层次结构的应用程序 我希望能够以与 Spy 类似的方式浏览此层次结构 查看和编辑属性 例如大小 如果有一个小部件可以显示此信息 则它不需要在外部应用程序中运行 那么问题来了 这样的神兽存在吗 您可以使用Gammar
  • Qt中Q_PROPERTY的意义是什么?

    我无法理解 Q PROPERTY 的用法 Q PROPERTY 如何帮助程序具有防御性 它是干什么用的 我看过这个论坛 但确实无法应用 我已经理解了这个例子 但不明白它的用法 这是一个例子 我能从中得到什么 我知道阅读将赋予只读特权 wri
  • Qt中用于线程间通信的类设计

    问题陈述 用相机跟踪物体并相应地移动相机的方位角和仰角 Process 相机获取物体的图像 处理相机的每一帧以查找物体 应该被跟踪 并将每帧中生成的信息传递给机械设备 万向节 以平移和倾斜方式移动摄像机 Design 主 Gui 在一个线程
  • 针对初学者的 QT 商业许可证与非商业许可证 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 QT 许可似乎非常反学习 因为据我所知 用它开发的任何东西都只能是商业的当且仅当 its entire开发是在使用商业许可证的情况下完成的
  • Qt QML 数据模型似乎不适用于 C++

    我一直在使用中的示例http doc qt digia com 4 7 qdeclarativemodels html http doc qt digia com 4 7 qdeclarativemodels html这是 QML 声明性数
  • Linux 上的静态 Qt5 构建:部署时如何处理字体?

    我使用这些配置选项创建了 Qt 5 2 0 库的静态版本 Ubuntu 12 04 开源 确认许可 force pkg config 发布 静止的 前缀 home juzzlin qt5 无icu opengl桌面 无油嘴滑舌 辅助功能 n
  • QAbstractItemModel 如何表示树?

    我仍然很难理解 QAbstractItemModel 对项目的表示 有两种返回 QModelIndex 项的方法对我来说没有任何意义 QModelIndex QAbstractItemModel index int row int colu
  • 使 QLabel 的像素图透明

    我有一个带有 QLabel 和像素图的主窗口 我想让它透明 或不那么不透明 我正在使用下面的代码 ui gt label gt setAttribute Qt WA TranslucentBackground ui gt label gt
  • 使用 QGraphicsScene 和 QGraphicsView 在 Qt 中开始基于 Tile 的游戏

    我将开始在 Qt 中编写基于 2D 图块的游戏 并阅读 QGraphicsScene 和 QGraphicsView 类 这些类旨在显示和处理大量 2D 对象 我的问题是 使用 QGraphicsScene 创建一个包含大量图块的世界是否可
  • CMake AUTOMOC,文件位于不同文件夹中

    我有一个简单的 CMake 项目 proj project folder a h a cpp CMakeLists txt CMakeLists txt cmake minimum required VERSION 3 2 set CMAK
  • 使用 C++ 访问 Azure blob 存储 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用 qbs 构建 qt 应用程序

    我想知道在 Linux 上使用 qbs 编译 构建和创建 Android Qt 应用程序的步骤 我拥有所有必要的工具 目前我可以使用 qmake 创建 apk Qbs 目前不支持构建 Qt Android 应用程序 Qbs v1 4 中引入
  • Qt 多重继承和信号

    由于 QObject 我在 QT 中遇到了有关多重继承的问题 我知道很多人也有同样的问题 但我不知道该如何解决 class NavigatableItem public QObject Q OBJECT signals void desel
  • Qt - 添加超链接到对话框

    有没有办法在 Qt 对话框中添加可点击的超链接 IE 它应该看起来像一个超链接 蓝色文本 当您单击它时 它应该在浏览器中打开该超链接 像这样的东西 Use QLabel setOpenExternalLinks bool 并在标签上设置文本

随机推荐

  • 实用科研网站(自用)

    网站 网址 Papers With Code https paperswithcode com AMiner https www aminer cn Connected Papers https www connectedpapers co
  • Python3 生成器(generator)概念浅析

    引子 某次面试问候选人 Python 中生成器是什么 答曰 有 yield 关键字的函数 而在我印象中此种函数返回的值是生成器 而函数本身不是 如下 In 1 def get nums n for i in range n yield i
  • k互近邻算法 rerank

    建议读者手中有re ranking的代码 或者看过某个行人充实别的代码 一 re ranking大致流程 re ranking是一个图像检索问题 给定一个probe 要从图片集gallery中找出与它相似的图片 如 既然是检索问题 那么ra
  • llama2本地CPU推理运行

    介绍 本教程使用C语言部署运行llama2模型 可以高效地在CPU上进行推理 主要包含的内容有 1 运行环境配置 包括C python 2 原始llama2模型转换为二进制格式 3 使用C语言推理llama2 环境安装与配置 项目下载 gi
  • SQL语句,数据库增加、删除、修改、查询

    原创博客 转载请注明 转自 https blog csdn net hongdunyang article details 86181589 1 查询全部 select from table1 2 查询某几列 select colume1
  • 2021重庆江北中学高考成绩查询,2020年重庆部分中学高考成绩单,看看有你的母校吗?...

    文科重本线共有11117人 600分以上1835人 文科655分以上 全市共计57人 理科重本线共有42071人 600分以上7924人 理科700分以上的 全市共计54人 全国二卷理科状元 重庆八中谢欣颖同学726分 语文136数学149
  • Studio 3T for MongoDB的介绍及语法简单介绍

    用法介绍 Studio 3T是一款用于MongoDB数据库管理和开发的图形化工具 它提供了许多功能来简化MongoDB的操作和开发过程 以下是一些常见的Studio 3T用法 连接到MongoDB服务器 打开Studio 3T并创建一个新连
  • nvm使用的注意事项和常用命令。

    nvm官网下载地址 nvm文档手册 nvm是一个nodejs版本管理工具 nvm中文网 uihtm com 参考网址 14 封私信 80 条消息 如何通过 nvm 安装多版本 nodejs npm 安装失败了怎么办 知乎 zhihu com
  • Java学习笔记之“接口与继承”

    本文为在How2j的学习总结 只代表个人见解 如有不妥 望指出以便更正 接口 在设计LOL的时候 进攻类英雄有两种 一种是进行物理系攻击 一种是进行魔法系攻击 这时候 就可以使用接口来实现这个效果 设计两种接口AD和AP package L
  • FPGA数字IC的Verilog刷题解析基础版03——奇偶校验(奇偶检测)

    1 题目 用verilog实现对输入的32位数据进行奇偶校验 根据sel输出校验结果 sel 1输出奇校验 sel 0输出偶校验 timescale 1ns 1nsmodule odd sel input 31 0 bus input se
  • C语言:memcpy、memmove等函数的了解,使用以及模拟实现

    C语言 memcpy memmove等函数的了解 使用以及实现 1 memcpy函数的介绍 使用 以及实现 2 memmove函数的介绍 使用 以及实现 1 memcpy函数的介绍 使用 以及实现 1 作用介绍 函数原型 void memc
  • [HDLBits] Count15

    Build a 4 bit binary counter that counts from 0 through 15 inclusive with a period of 16 The reset input is synchronous
  • 使用IntelliJ IDEA查看类图

    使用IntelliJ IDEA查看类图 一 查看图形形式继承链 查看方式有如下两种 show Diagrams 新打开一个标签页 show Diagrams Popup 打开一个悬浮窗口 选择想查看已打开的类或者Project Tree中的
  • 趣味python编程之经典俄罗斯方块

    国庆期间闲不住 用python把经典俄罗斯方块实现了一遍 找到了些儿时的乐趣 因此突发奇想 正统编程之余也给自己找点儿乐趣 换个角度写程序 原计划是写篇完整的博文对程序算法和函数模块做个说明 但是在整理程序的时候发现自己给程序加的注释已经相
  • JUC基础【万字篇】

    JUC 1 什么是JUC JUC 指的是java util三个并发编程工具包 java util concurrent java util concurrent atomic java util concurrent locks 实现多线程
  • SpringBoot 三种拦截http请求方式Filter,interceptor和aop

    SpringBoot 三种拦截http请求方式Filter interceptor和aop 这三种拦截方式的拦截顺序是 filter gt Interceptor gt ControllerAdvice gt Aspect gt Contr
  • office word复制图片出错

    前言 今天在使用word文档时 发现在复制图片时 总是复制的不完整 Word中插入图片只显示一行的 图片缺失的部分感觉和文字交织在一起 估计原因是 之前图片复制在word中的标题的位置上了 解决 点击word上方的 正文 然后再复制图片 问
  • 【C++ primer】第一章 快速入门 读书笔记

    1 1 编写简单的c 程序 返回 0值表明程序程序成功执行完毕 非零返回值表明有错误出现 返回值类型必须和函数的返回类型相同 或者可以转换成函数的返回类型 1 1 1 编译与执行程序 1 2 初窥输入 输出 术语 流 试图说明字符是随着时间
  • Python 爬虫库以及库函数总结&&踩坑

    1 Re库的基本使用 Re库介绍 Re库是Python的标准库 主要用于字符串匹配 调用方式 import re 正则表达式的表示类型 raw string类型 原生字符串类型 re库采用raw string类型表示正则表达式 表示为 r
  • Qt文本的淡入淡出

    Qt文本的淡入淡出 对于写在Qlabel中的文本 想对其实现淡入和淡出的特效 需要用到QGraphicsOpacityEffect 并搭配计时器使用 示例如下 h文件 include