[英]How to change the cursor in Qt C++
如何將光標更改為本地計算機中的圖像? 我已經按照本教程進行代碼參考: http : //www.newthinktank.com/2018/07/qt-tutorial-5-paint-app/
在你的 .qrc 文件中試試這個:
<RCC>
<qresource prefix="/">
<file>cursors/my_cursor.png</file>
</qresource>
</RCC>
然后這樣編程:
QPixmap p = QPixmap(":my_cursor");
QCursor c = QCursor(p, 0, 0);
setCursor(c);
我認為您應該使用類QCursor ,一旦鼠標位於圖像內,您就可以使用函數 setShape() 修改其形狀。
就像文檔說的:
要將光標與小部件關聯,請使用 QWidget::setCursor()。 要將光標與所有小部件關聯(通常在短時間內),請使用 QGuiApplication::setOverrideCursor()。
要設置光標形狀,請使用 QCursor::setShape() 或使用將形狀作為參數的 QCursor 構造函數,或者您可以使用 Qt::CursorShape 枚舉中定義的預定義光標之一。
您可以在穩定的基礎上臨時更改光標。
穩定方式意味着,光標只是按原樣設置。 使用QWidget::setCursor()
。 請注意,應用它的對象必須是 QWidget。
臨時方式覆蓋永久游標。 當你做QGuiApplication::setOverrideCursor(QCursor(/* your cursor here */));
您將此光標添加到堆棧的頂部。 如果放置了多個光標,在彈出它們時,我們會以相反的順序獲取它們。 為了彈出一個游標,我們這樣做: QGuiApplication::restoreOverrideCursor();
只是一次更改或來回擺動並不重要,但是如果光標有可能堆積,這將很重要。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.