zoukankan      html  css  js  c++  java
  • Qt之滚动字幕

    简述

    滚动字幕,也就是传说中的跑马灯效果。

    ​简单地理解就是:每隔一段时间(一般几百毫秒效果较佳)显示的文字进行变化(即滚动效果)。

    实现

    利用定时器QTimer,在固定的时间(这里为200毫秒)截取文本,来实现滚动效果!

    效果

    这里写图片描述

    源码

    首先,我们需要定义显示的滚动字幕:

    const QString strScrollCation = QString::fromLocal8Bit("一去丶二三里 - 青春不老,奋斗不止!");

    定义QLabel进行文本的显示,利用QTimer定时更新。

    m_pLabel = new QLabel(this);
    
    QTimer *pTimer = new QTimer(this);
    connect(pTimer,  SIGNAL(timeout()),  this,  SLOT(scrollCaption()));
    
    // 定时200毫秒
    pTimer->start(200);

    实现槽函数,进行滚动更新:

    void MainWindow::scrollCaption()
    {
        static int nPos = 0;
    
        // 当截取的位置比字符串长时,从头开始
        if (nPos > strScrollCation.length())
            nPos = 0;
    
        m_pLabel->setText(strScrollCation.mid(nPos));
        nPos++;
    }
  • 相关阅读:
    iOS截取长图,自定义截取size
    工作
    UITableView适配iOS11
    利用脚本实现build号自动加一
    iOS原生与JS互调
    CSS高级技巧
    伪元素选择器
    CSS设置过渡
    CSS文本属性 二
    css设置圆角矩形
  • 原文地址:https://www.cnblogs.com/itrena/p/5938294.html
Copyright © 2011-2022 走看看