搜尋此網誌

工商服務

2009年2月11日 星期三

[Qt密技]如何在應用程式層級隱藏全域滑鼠游標?

在某些不需要利用滑鼠來進行操作的應用程式裡面(例如正在播放影片的多媒體播放器),滑鼠游標的出現反而顯得礙眼,一來派不上用場,二來會擋到部分視野。

幸好在Qt裡面,要將程式執行期間的滑鼠游標隱藏起來是很容易辦到的,程式碼如下:

QApplication::setOverrideCursor(QCursor(Qt::BlankCursor));
若要復原滑鼠游標,也有對應的程式碼可以用,不過就算沒有執行也無妨,應用程式結束時會自動恢復滑鼠游標,程式碼如下:

QApplication::restoreOverrideCursor();
上述的兩個函式都是靜態的,所謂的靜態函式(在C++裡面叫做static member function)是在類別層級而非實體層級運作,意味著並不需要將其類別加以實體化再透過物件來存取。相反地,只要透過類別名稱加上雙冒號範圍運算子(::)加上函式名稱這樣的語法即可呼叫,就像在使用程式庫的API那樣,並不需要明白指出要由哪個物件執行。換言之,即便擁有該靜態函式的類別被實體化成好幾份物件,其靜態函式還是只有一份而已。

在C語言裡面,靜態函式的定義就相差大了,是指該函式只能夠在定義該函式的檔案內使用,別的檔案無法存取之。

【2009.02.27 updated】
【2009.03.20 updated】
【2009.05.13 updated】

沒有留言:

張貼留言