1. 程式人生 > ><Qt C++>滾動字幕

<Qt C++>滾動字幕

學qt

***in cpp***
#include<QTimer>
QTimer *timer = new QTimer(this);
connect(timer,SIGNAL(timeout()),this,SLOT(scrollCaption()));
timer->start(1000);

QTimer類提供了定時器信號和單觸發定時器。

它在內部使用定時器事件來提供更通用的定時器。QTimer很容易使用:創建一個QTimer,使用start()來開始並且把它的timeout()連接到適當的槽。當這段時間過去了,它將會發射timeout()信號。

註意當QTimer的父對象被銷毀時,它也會被自動銷毀。

來源:http://www.kuqin.com/qtdocument/qtimer.html


void MainWindow::scrollCaption()
{
    static int nPos = 0;//nPos記錄截取位置

    // 當截取的位置比字符串長時,從頭開始
    if (nPos > str.length())
        nPos =0;

    ui->label_2->setText(str.mid(nPos));

    QString str2 = ui->label_2->text().append("    "+str.left(nPos)+"    ");
    //用str2記錄已經消失的部分
    ui->label_2->setText(str2);

    nPos++;
}

其他部分和前一個一樣

<Qt C++>滾動字幕