在我的Qt應用程序中,我正在關閉應用程序時保存一些數據。保存數據在closeEvent(QCloseEvent *)方法中執行。我想在保存數據前更改光標,並在保存後將其恢復。更改光標隱藏光標
從我在互聯網上讀到的setCursor(const QCursor &)不能全局工作,但只能在某個指定的小部件的範圍內。因此我嘗試使用WinAPI中的SetCursor(HCURSOR)。
的代碼看起來是這樣的:
void mainWin::closeEvent(QCloseEvent* e) {
SetCursor(LoadCursor(GetModuleHandle(NULL), (LPCWSTR)IDC_WAIT));
saveData();
SetCursor(LoadCursor(GetModuleHandle(NULL), (LPCWSTR)IDC_ARROW));
e->accept();
}
然而,第一的setCursor()方法只是隱藏光標當數據而不是保存其更改爲某種沙漏的時間。爲什麼?
我擔心我必須傳遞一些指向QApplication對象的指針,但它甚至是靜態的!謝謝。順便說一下,你知道爲什麼使用WinAPI隱藏遊標嗎?只是好奇心。 – tobi
當您包含QApplication時,QApplication指針始終可用。您可以通過qApp宏或QApplication :: instance靜態方法來訪問它。 –