Qt+C++实现灯带动画运动位置变换移动跑马灯图片轮播

这篇具有很好参考价值的文章主要介绍了Qt+C++实现灯带动画运动位置变换移动跑马灯图片轮播。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 程序示例精选

Qt+C++实现灯带动画运动位置变换移动跑马灯图片轮播

如需安装运行环境或远程调试,见文章底部个人QQ名片,由专业技术人员远程协助!

前言

这篇博客针对<<Qt+C++实现灯带动画运动位置变换移动跑马灯图片轮播>>编写代码,代码整洁,规则,易读。 学习与应用推荐首选。


文章目录

一、所需工具软件

二、使用步骤

        1. 引入库

        2. 代码实现

        3. 运行结果

三、在线协助

一、所需工具软件

1. VS, Qt

2. C++

二、使用步骤

1.引入库

#include "MainWindow.h"

#include<iostream>
#include <QDebug>
#include <QFile>
#include <QTimer>
#include<QImage>
#include<QPixmap>
#include<QTransform>
#include<QPropertyAnimation>
#include<QGraphicsPixmapItem>
#include<QGraphicsScene>
#include <QtConcurrent/QtConcurrent>
#include <QPainter>

2. 代码实现

代码如下:

class MarqueeWidget : public QWidget {
public:
    MarqueeWidget(QWidget *parent = nullptr) : QWidget(parent) {
        setFixedSize(400, 100);
        
        label = new QLabel(this);
        label->setGeometry(0, 0, width(), height());
        
        timer = new QTimer(this);
        connect(timer, &QTimer::timeout, this, &MarqueeWidget::updateMarquee);
        
        marqueeText = "This is a marquee text.";
        marqueeIndex = 0;
        
        startMarquee();
    }
    
    void startMarquee() {
        if (!timer->isActive()) {
            timer->start(100); // 设置滚动速度,单位为毫秒
        }
    }
    
    void stopMarquee() {
        if (timer->isActive()) {
            timer->stop();
        }
    }
    
    void updateMarquee() {
        const int textLength = marqueeText.length();
        const int visibleLength = width() / fontMetrics().averageCharWidth();
        
        if (textLength <= visibleLength) {
            label->setText(marqueeText);
            return;
        }
        
        QString displayText = marqueeText.mid(marqueeIndex) + marqueeText.left(marqueeIndex);
        label->setText(displayText);
        
        marqueeIndex++;
        if (marqueeIndex >= textLength) {
            marqueeIndex = 0;
        }
    }
    
private:
    QLabel *label;
    QTimer *timer;
    QString marqueeText;
    int marqueeIndex;
};

3. 运行结果

Qt+C++实现灯带动画运动位置变换移动跑马灯图片轮播,C++,qt,c++,开发语言

 Qt+C++实现灯带动画运动位置变换移动跑马灯图片轮播,C++,qt,c++,开发语言

Qt+C++实现灯带动画运动位置变换移动跑马灯图片轮播,C++,qt,c++,开发语言

 

三、在线协助:

如需安装运行环境或远程调试,见文章底部个人 QQ 名片,由专业技术人员远程协助!
1)远程安装运行环境,代码调试
2)Qt, C++, Python入门指导
3)界面美化
4)软件制作

当前文章连接:Python+Qt桌面端与网页端人工客服沟通工具_alicema1111的博客-CSDN博客

博主推荐文章:python人脸识别统计人数qt窗体-CSDN博客

博主推荐文章:Python Yolov5火焰烟雾识别源码分享-CSDN博客

                         Python OpenCV识别行人入口进出人数统计_python识别人数-CSDN博客

个人博客主页:alicema1111的博客_CSDN博客-Python,C++,网页领域博主

博主所有文章点这里alicema1111的博客_CSDN博客-Python,C++,网页领域博主文章来源地址https://www.toymoban.com/news/detail-635563.html

到了这里,关于Qt+C++实现灯带动画运动位置变换移动跑马灯图片轮播的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • HTML CSS动画实现图片过渡与变换

    需要实现过渡和变换效果时,使用CSS动画是一种常见的方法。CSS动画允许我们在元素上应用一系列的动画效果,从而创建出流畅和引人注目的过渡和变换效果。 1. `transition`属性:通过指定过渡的属性、持续时间和过渡函数,我们可以实现元素属性的平滑过渡。在例子中,我们

    2024年04月16日
    浏览(35)
  • wpf DataGrid 实现拖拽变换位置,双击拖拽向下自动滚动

    DataGrid_Drop事件是在拖放操作中释放拖动的对象时触发的事件。 使用VisualTreeHelper.HitTest方法获取鼠标释放位置的目标元素。 循环向上遍历VisualTree,直到找到DataGridRow为止。 如果找到DataGridRow,则获取其索引。 检查索引是否有效,如果无效则返回。 交换CmdButtons列表中的拖拽行

    2024年01月18日
    浏览(31)
  • 利用OpenGL图形库实现人物动画移动效果

    使用OpenGL库实现人物动画移动效果需要涉及到更复杂的图形编程和事件处理。以下是一个简单的例子,使用OpenGL和GLUT库实现人物的基本动画移动效果。 确保你已经安装了OpenGL和GLUT。你可以使用包管理器或者从官方网站下载并安装。 一、如果你已经安装过了OpenGL和GLUT可以直

    2024年01月21日
    浏览(30)
  • flutter开发实战-实现左右来回移动的按钮引导动画效果

    flutter开发实战-实现左右来回移动的按钮引导动画效果 最近开发过程中需要实现左右来回移动的按钮引导动画效果 AnimationController用来控制一个或者多个动画的正向、反向、停止等相关动画操作。在默认情况下AnimationController是按照线性进行动画播放的。AnimationController两个监听

    2024年02月13日
    浏览(33)
  • Unity虚拟相机Cinemachine-实现相机自动移动到指定位置

    介绍两种方法, 第一种使用虚拟相机自带DollyCart和DollyTrack进行设置; 第二种使用时间线Timeline和DollyTrack进行设置 1.首先添加图中三个虚拟相机 2.点击 DollyTrack,添加点,设置轨道 3.调整点的位置,使轨道在相机移动的起点和终点保持平滑 4.设置Dolly Cart,将轨道拖拽到Dolly

    2024年01月25日
    浏览(36)
  • Android的RecyclerView实现列表拖动(移动顺序)交换数据位置

    1.先看效果图 这是拖动前的图片 这是拖动列表改变位置后的图片 这里放上视频演示 RecyclerView实现列表拖动交换数据位置 2.主活动MainActivity2类代码如下

    2024年02月12日
    浏览(42)
  • 基于X86六轮差速移动机器人运动控制器设计与实现(一)软件与硬件架构

    本文研究的六轮差速移动机器人 (Six-Wheeled Differential Mobile Robot , SWDMR) 为了满足资源站到资源站点对点的物资运输,对机器人的跨越障碍能力 有较高的要求。对比传统的四轮移动机器人,六轮移动机器人能够提供更强的驱动 力,而且六轮与四轮相比整车分散到单个车轮的负

    2024年02月12日
    浏览(36)
  • QT实现固高运动控制卡示波器

    目录 一、固高示波器 二、基于QCustomPlot实现示波器 三、完整源码         固高运动控制卡自带的软件有一个示波器功能,可以实时显示速度的波形,可辅助分析电机的运行状态。但是我们基于sdk开发了自己的软件,无法再使用该功能,原因是2个软件不能同时与控制卡通

    2024年02月04日
    浏览(26)
  • [OpenCV学习笔记]Qt+OpenCV实现图像灰度反转、对数变换和伽马变换

    灰度反转是一种线性变换,是将某个范围的灰度值映射到另一个范围内,一般是通过灰度的对调,突出想要查看的灰度区间。 S = L − 1 − r ( r ⊂ [ 0 , L − 1 ] ) S = L -1-r (r subset [0,L-1]) S = L − 1 − r ( r ⊂ [ 0 , L − 1 ]) 比如在以下胸片图像中提取白色絮状形状,在黑色背景下看

    2024年04月13日
    浏览(26)
  • three.js实现鼠标点击控制物体移动(带动画效果,位置精确)

    通过查阅各种资料,最终确定解决方案,动画效果使用gsap组件库实现,也可不用,代码稍作修改即可。解决鼠标点击坐标偏移问题,复制可直接运行。 完整代码如下:

    2024年02月07日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包