QT开发----滚动字幕

代码实现滚动字幕效果。

1. 构造函数中添加语句:

1
2
3
4
5
 timer =new QTimer(this);
connect(timer,SIGNAL(timeout()),this,SLOT(TimeOut()));//连接信号timeout()与槽函数TimeOut()
timer->start(500);//时间设为500ms
temp_str="你要显示的字幕";//待显示字符串
pos=0;

2. 实现TimeOut()函数

1
2
3
4
5
6
7
void 类名::TimeOut()
{
if(pos>temp_str.length())
pos=0;
ui->showlabel->setText(temp_str.substr(pos).c_str());
pos++;
}

3. 头文件添加语句:

1
2
3
4
5
6
7
//声明槽函数
private slots:
void TimeOut();
//定义变量
QTimer *timer;
std::string temp_str;
int pos;

注意:一定要在头文件中添加void TimeOut()槽函数的声明

写的还不错?那就来个红包吧!
0%