QTimer的用法


1.singleShot的用法

    代碼:

    QTextEdit *testEdit = new QTextEdit("hello world");

     testEdit->setMaximumHeight(20);

    QTimer::singleShot( 5*1000, testEdit, SLOT(clear()));

    statusBar()->addWidget(testEdit);

    解析:

    QTimer在5秒后發出信號,testEdit接受信號后調用clear函數,清空testEdit內的內容。

    singleShot只發出一次信號,單觸發定時器

2. Qtimer的用法

    代碼及注釋:

    QLabel *label = new QLabel;

    QTimer *timer = new QTimer( label ); // 產生一個定時器

    connect( timer, SIGNAL(timeout()), label, SLOT(clear()) ); // 連接這個定時器的信號和槽,利用定時器的timeout(),從而觸發clear()槽函數

    timer->start(5000); //開始定時器,並設定定時周期,每隔5秒就會重啟定時器,可以重復觸發定時,除非你利用stop()將定時器關掉

    timer->setSingleShot(true); // 僅僅啟動定時器一次


    statusBar()->addWidget(label);

   解析:

    每5秒,清理label一次,而singleShot只清理一次。

   

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM