我有項目委託,當鼠標事件結束圖標時,我將其光標更改爲Qt :: PointingHandCursor 當它關閉時,我將其設置回Qt :: ArrowCursor。它的工作正常。
問題是,除了它在圖標上時。它總是堆疊在Qt :: ArrowCursor 上,即使在圖標需要像本地調整窗口大小或通過本機按鈕時那樣改變的情況下。它總是Qt :: ArrowCursor。
當它不在圖標上時,我該如何強制光標正常動作?
這裏是我做的:Qt鼠標光標重置
Q
Qt鼠標光標重置
2
A
回答
4
您需要使用restoreOverrideCursor()
給每個呼叫撤消setOverrideCursor()
。從文檔:
http://doc.qt.io/archives/qt-4.7/qapplication.html#setOverrideCursor
應用遊標被存儲到內部棧中。 setOverrideCursor()將光標推入堆棧,並且restoreOverrideCursor()將活動光標彈出堆棧。 changeOverrideCursor()更改當前活動的應用程序 覆蓋光標。每一個setOverrideCursor()必須最後被相應的restoreOverrideCursor()跟在 之後,否則堆棧將永遠不會被清空。
你必須弄清楚究竟是如何使這項工作在你的代碼(這是不完全清楚自己想要什麼樣的行爲),但你可以通過更換該else
條款
{
Qt::CursorShape shape = Qt::ArrowCursor;
QApplication::setOverrideCursor(QCursor(shape));
}
啓動
{
QApplication::restoreOverrideCursor();
}
相關問題
- 1. Qt Windows獲取鼠標光標圖標
- 2. Silverlight:重寫鼠標光標
- 3. Qt鼠標光標透明度
- 4. Qt:拖動時更改鼠標光標
- 5. 從鼠標光標位置
- 6. firemonkey設置鼠標光標位置
- 7. 如何重置鼠標光標位置c#
- 8. 如何重置Selenium鼠標光標位置?
- 9. CSS鼠標光標...旋轉光標?
- 10. 無法設置鼠標光標JLayeredPane
- 11. 鼠標光標在Javascript中的位置?
- 12. 鼠標光標位置改變
- 13. PyGame從位圖設置鼠標光標
- 14. 鼠標移動-crosshair光標
- 15. jquery替換鼠標光標
- 16. JavaScript鼠標光標指針
- 17. Java GUI鼠標光標
- 18. Jssor光標鼠標懸停
- 19. 鼠標光標未顯示
- 20. 移動鼠標光標Javascript
- 21. 不顯示鼠標光標
- 22. 放大鼠標光標
- 23. 鼠標光標位圖
- 24. 跟蹤鼠標光標android
- 25. Qt - 設置相對鼠標位置
- 26. Qt- QTextEdit的光標
- 27. 鼠標事件QT
- 28. 如何更改鼠標光標圖標?
- 29. WinAPI獲取鼠標光標圖標
- 30. C#Winforms - 更改鼠標光標圖標