在我的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静态方法来访问它。 –