QT QLabel右跑马显示文字

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

简单实现了右跑马的效果,使用的是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

时间: 2024-10-09 18:55:11

QT QLabel右跑马显示文字的相关文章

iOS tableView右滑显示选择

如何使用UITableViewRowAction实现右滑选择呢? 1.在iOS8以前,我们实现tableview中滑动显示删除,置顶,更多等等的按钮时,都需要自己去实现,在iOS8中系统已经写好了,只要一个代理方法和一个类就行了 2.iOS8的协议对了一个方法,返回值是数组的tableview:editActionForRowAtIndexPath:方法,我们可以在方法内部写好几个按钮,然后放到数组中返回,那些按钮的类就是UITableviewRowAction 3.在UITableviewRo

JAVA学习绘图颜色及其笔画属性设置字体显示文字

package com.graphics; import java.awt.*; import java.awt.geom.Rectangle2D; import java.util.Date; import javax.swing.*; /** * * @author biexiansheng * */ public class DrawString extends JFrame{ private Shape rect;//矩形对象 private Font font;//字体对象 priva

好玩的WPF第一弹:窗口抖动+边框阴影效果+倒计时显示文字

大家一进到博客就应该看到这张GIF了吧--好吧,今天不是星期一-- 那么就来一起做做这个效果啦!看完记得点赞哦~ 新建一个WPF项目 如果新建WPF项目应该不用我说了吧,在C#下面找找就好了. MainWindow.xaml 在初始的Window下添加如下属性: x:Name="mainWindow" WindowStartupLocation="CenterScreen" WindowState="Normal" WindowStyle=&qu

根据html容器大小和显示文字多少调节字体大小

在做html相关的东西的时候经常会遇到这样的问题,容器大小(长x宽)固定,容器包含内容(特指文字)多少不固定,这个时候就让人很苦恼了,将字体大小设置成多少才合适呢?下面看看我的解决思路: 首先要知道网页中所说的字体大小的px指的是字体的宽和高,也就是说在35px显示一个中文字符,该字符占去35x35的空间.知道这个之后,我们就可以想办法动态的根据容器大小和包含内容多少显示文字了. 首先要做的就是计算一个字符串的长短(一个中文字符记1个,一个英文字符记0.5个),我这里使用了简单的判断,当蚊子Un

cocos2d 中加入显示文字的三种方式(CCLabelTTF 、CCLabelBMFont 和CCLabelAtlas)

在 cocos2d 中有三个类能够在层或精灵中加入文字: CCLabelTTF CCLabelBMFont CCLabelAtlas      CCLabelTTF CCLabelTTF 每次调用 setString (即改变文字)的时候,一个新的OPENGL 纹理将会被创建..这意味着setString 和创建一个新的标签一样慢. 所以,当你须要频繁的更新它们的时候,尽可能的不用去使用标签对象.  而应该使用CCLabelAtlas或者是CCLabelBMFont. OK, 看下它的用法 CC

解决linux环境下qt groupbox 边框不显示问题

ps:实践是检验真理的唯一标准真的是没错,以为很简单一件事情,往往被自己搞的很复杂,这里记录下 在windows环境中Qt创建一个groupbox自动显示边框, 效果如下 然而在linux环境中Qt创建一个groupbox,边框竟然消失了 如图 然后以为是GroupBox的属性设置问题 结果在属性里面找了半天没有发现对应属性. 最后右键改变样式表解决 最后效果 ps:实践出真知啊! 解决linux环境下qt groupbox 边框不显示问题,布布扣,bubuko.com

OpenCV入门:(七:OpenCV取随机数以及显示文字)

1.随机颜色 OpenCV中自带了取随机数的方法,使用步骤: RNG rng( 0xFFFFFFFF ); 随机数 = rng.uniform( 下限,上限 ); 2.显示文字 void putText(Mat& img, const string& text, Point org, int fontFace, double fontScale, Scalar color, int thickness=1, int lineType=8, bool bottomLeftOrigin=fal

鼠标悬浮显示文字半透明背景

鼠标悬浮显示文字半透明背景 鼠标悬浮头像,出现文字"上传头像",之前都是使用< a title="上传头像"></a>这样的title来实现现在设计稿,是在头像上面,显示的大号字体的文字,且有一层黑色遮罩层第一想法是,多写一个层,悬浮时候,出现即可多想一步,使用css的content:"",来实现content后面的是双引号针对半透明黑色背景层background:#000opacity:0.5这是透明了全部(背景色和文字

webform文本框 、显示文字、按钮、跳转页面、页面传值

1.TextBox:用户输入文本框 单行文本框 多行文本框 密码框2.显示文字:lable会生成Span标签 literall将文字原封不动的打到页面3.按钮:Button普通按钮 ImageButton图片按钮 LinkButton超链接按钮4.Image:图片工具 HyperLink:超链接工具 跳转页面:1.Response.Redirect("url"); //重定向页面,可以跳转任何页面2.Server.Transfer("url"); //重新请求页面,