Qt Ticker視窗部件

2021-09-19 05:05:50 字數 2082 閱讀 1407

專案檔案列表:

專案執行效果:

標頭檔案:

ticker.h:

#ifndef ticker_h

#define ticker_h

#include class ticker : public qwidget

qsize sizehint() const;

protected:

void paintevent(qpaintevent *event);

void timerevent(qtimerevent *event);

void showevent(qshowevent *event);

void hideevent(qhideevent *event);

private:

qstring mytext;

int offset;

int mytimerid;

};#endif

cpp檔案:ticker.cpp:

#include #include "ticker.h"

ticker::ticker(qwidget *parent)

: qwidget(parent)

/** * @brief ticker::settext

* @param newtext

* settext()函式用來設定要顯示的文字。它呼叫update()函式強制執行乙個重繪操作,並且呼叫updategeometry()

* 通知對ticker視窗部件負責的任意布局管理器,提示該視窗部件的大小發生了變化。

*/void ticker::settext(const qstring &newtext)

/** * @brief ticker::sizehint

* @return

* sizehint()函式返回文字所需的空間大小,並以此作為視窗部件的理想尺寸。

*/qsize ticker::sizehint() const

/** * @brief ticker::paintevent

* paintevent()函式使用drawtext()繪製文字。它使用fontmetrics()確定文字在水平方向上所需的空間,並且在考慮

* offset值的同時,多次繪製文字,直到能夠條填充整個視窗部件的寬度為止。

*/void ticker::paintevent(qpaintevent * /* event */)

}/**

* @brief ticker::showevent

* showevent()函式用來啟動乙個定時器。qobject::starttimer()呼叫會返回乙個id數字,可以

* 在以後用這個數字識別該定時器。

*/void ticker::showevent(qshowevent * /* event */)

/** * @brief ticker::timerevent

* @param event

* 系統每個一定的時間,都會呼叫一次timerevent()函式。它通過在offset上加1來模擬移動,從而形成

* 文字寬度的連續滾動。然後,它使用qwidget::scroll()把視窗部件的內容向左滾動乙個畫素。

*/void ticker::timerevent(qtimerevent *event)

else

}/**

* @brief ticker::hideevent

* */

void ticker::hideevent(qhideevent * /* event */)

ticker.cpp:

int main(int argc, char *ar**)

Qt QSizePolicy設定視窗部件屬性大小

fixed 表示該視窗部件不能被拉伸或者壓縮,視窗部件的大小總是保持為其大小提示的尺寸。minimum 表示該視窗部件的大小提示就是它的最小大小,不能再進行壓縮,但是能拉伸填充更多的空間。maximim 表示該視窗部件的大小提示就是它的最大大小,不能再進行拉伸,但是能壓縮成更小的空間。preferr...

setStyleSheet來設定視窗部件的樣式

使用setstylesheet來設定圖形介面的外觀 qt style sheets是乙個很有利的工具,允許定製視窗的外觀,此外還可以用子類qstyle來完成,他的語法很大比重 於html的css,但是適用於視窗 qt將會集合所有的樣式表來設定外觀,這稱作級串聯 例如 下面的樣式表指定所有的qline...

Qt QSizePolicy設定視窗部件屬性大小

fixed 表示該視窗部件不能被拉伸或者壓縮,視窗部件的大小總是保持為其大小提示的尺寸。minimum 表示該視窗部件的大小提示就是它的最小大小,不能再進行壓縮,但是能拉伸填充更多的空間。maximim 表示該視窗部件的大小提示就是它的最大大小,不能再進行拉伸,但是能壓縮成更小的空間。preferr...