前两天看到两篇博客文章关于文字滚动实现走马灯效果,其中一篇是在Qt界著名而无私的一去丶二三里大大,在其基础上进行了升级,实现前面消失的文字在后面出现。
废话少说,代码如下:
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
_scrollText = "不困于情,不念过往,不畏将来,如此、安好...";
_scrollLabel= new QLabel(this);
_scrollLabel->resize(200,30);
QTimer *m_timer = new QTimer(this);
m_timer->start(300);
QObject::connect(m_timer,&QTimer::timeout, this,&Widget::scrollText);
}
Widget::~Widget()
{
delete ui;
}
void Widget::scrollText()
{
static int pos = 0;
if (pos > _scrollText.length())
{
pos = 0;
}
_scrollLabel->setText( _scrollText.mid(pos));
QString sss = _scrollLabel->text().append(" " +_scrollText.left(pos) + " " );
_scrollLabel->setText(sss);
_scrollLabel->setGeometry(50,50,this->width()+100,40);
pos++;
}
头文件什么的需要自己定义了。效果如下,没有动态图