QT 用QTimer實現滾動顯示文字

2021-10-06 09:19:42 字數 915 閱讀 2516

當控制項或螢幕較小時,顯示的文字較多,無法完全顯示,則需要滾動顯示文字,其他有用qpainter實現的,這裡為了方便,用qtimer與控制項settext事件。

原理:將需要顯示的文字以文字+空格+文字的新式重新組合,通過timer每次更新從左邊第i個顯示固定個數的字型,每次timer都i加一。例如:顯示的文字時「12345」,那麼組合成新的qstring是「12345 12345」,中間的空格是為了主**上去是乙個「12345」的字串在迴圈滾動。用qtimer計時,第2次顯示「1234」,第2次顯示「2345」,第3次顯示「345 」,第4次顯示「45 1」,第5次顯示「5 12」,第6次顯示「 123」,第7次顯示「1234」如此迴圈顯示。

settext(softversion.mid(soft_i,4)。表示控制項設定文字內容為softversion字串中從左邊第soft_i開始顯示4個字元,即顯示第soft_i,soft_i+1,soft_i+2,soft_i+3,這四個字元。

.h   

#include private:

qstring softversion="";

int soft_i=0;

int soft_lenth=0;

public slots:

void soft_timeout();

.cpp

softtimer=new qtimer(this);

softtimer->setinterval(200);

connect(softtimer, signal(timeout()), this, slot(soft_timeout()));

if(software_version.length()>23)

else

void aboutpage::soft_timeout()

}

Qt中利用定時器QTimer實時顯示當前日期和時間

時顯示當前日期和時間。下面說明方法 1.在工程中宣告乙個全域性 qtimer物件 qtimer timer 2.在建構函式中定義 qtimer 並建立訊號槽關係,同時設定時間啟動 你也可以再其他地方啟動 timer new qtimer this connect timer,signal timeo...

用ViewGroup實現左右滾動

import android.content.context import android.graphics.canvas import android.util.attributeset import android.util.log import android.view.gesturedete...

Qt 用Qt實現圓角視窗

實現該功能主要是呼叫qwidget的成員函式setmask.我們可以看到qt assistant介紹了兩種setmask方法,這裡我們採用第一種方法。也就是用qbitmap類例項來實現的方面。第二種方法需要自己繪製區域來實現。兩種方法都比較靈活。在dialog.cpp的建構函式中新增如下 setwi...