您的位置:首页 > 编程语言 > Qt开发

QT QLabel右跑马显示文字

2016-04-21 11:58 405 查看
开发中可能会需要加一些跑马的效果,会使界面看起来很炫,而且可以达到提醒用户的作用。

简单实现了右跑马的效果,使用的是QLabel显示的文字,利用QTimer来控制跑马的速度:

效果如图:



示例代码:

#ifndef TEXTTICKER_H
#define TEXTTICKER_H

#include <QtWidgets/QWidget>
#include <QtWidgets/QLabel>

class TextTicker : public QWidget
{
Q_OBJECT

public:
TextTicker(QWidget *parent = 0);
~TextTicker();

private:
void showTicker();

int m_curIndex;
QLabel *m_label;
QString m_showText;
};

#endif // TEXTTICKER_H


#include "textticker.h"
#include <QTimer>

TextTicker::TextTicker(QWidget *parent)
: QWidget(parent)
{
m_curIndex = 0;//当前角码
m_showText = "This is a textTicker Text!";//显示的文字
m_label = new QLabel(this);
m_label->setMinimumWidth(300);
QTimer *timer = new QTimer(this);
connect(timer, &QTimer::timeout, this, &TextTicker::showTicker);
timer->start(100);//定时器
}

TextTicker::~TextTicker()
{

}

void TextTicker::showTicker()
{
int iSize = m_showText.size();
if (m_curIndex < 0)
m_curIndex = iSize;
m_label->setText(m_showText.mid(m_curIndex--));
//m_label->setText(m_showText.right(iSize - m_curIndex--));
}
交流QQ:1245178753

本文地址:http://blog.csdn.net/u011417605/article/details/51207724

源码下载:http://download.csdn.net/detail/u011417605/9497889
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: