眾所周知,QT系統自身擁有眾多的滑鼠樣式,這些滑鼠樣式均比較常見,顏色、樣式為系統所固有,無法更改。哪麼能不能自定義滑鼠的形狀、顏色等特點呢?答案是可以的。自定義的滑鼠樣式可以隨意指定,顏色更是多種多樣,極具個性化。
QT自帶的滑鼠樣式(在此不做過多介紹):
在這裡插入圖片描述
可以直接拿來用,具體用法如下:

this->pushbutton->setCursor(Qt::ArrowCursor);
this->setCursor(Qt::OpenHandCursor)

下面介紹如何自定義滑鼠樣式,自己繪製滑鼠形狀、顏色等:
首先,開啟windows自帶的“畫圖”軟體
在這裡插入圖片描述
然後,在畫圖軟體上畫兩個框:
在這裡插入圖片描述
對兩個框中鍵縫隙,進行填充:
在這裡插入圖片描述
繼續畫四條中線,並填充:
在這裡插入圖片描述
在這裡插入圖片描述
然後用“選擇”框住,並拉到最左上角:
在這裡插入圖片描述
調整大小為50*50,並“另存為” cursor.png,在桌面備用:
在這裡插入圖片描述
在桌面上,右鍵,新建“PPT簡報”,並開啟,在此我用的是wps辦公軟體;
在PPT裡面選擇“插入”->“圖片”,選擇“cursor.png":
在這裡插入圖片描述
選中圖片,並點選”設定透明色“,之後,選中圖片,右擊,選擇“另存為圖片…”,存放在桌面上 curs.png,備用.
此時,返回桌面,可以看到,該curs.png圖片沒有背景色,適合做滑鼠樣式了:
在這裡插入圖片描述
此時,把該curs.png拷貝到Qt應用程式下,可以新建一個資料夾"image":
然後,在需要改變滑鼠樣式的地方新增以下程式碼:

	// 設定自定義滑鼠圖案
		QCursor cCursor;
		QPixmap cMap("./image/curs.png");//這裡也可以絕對路徑
		QSize cSize(40, 40);// 滑鼠形狀大小,可以自己指定,合適即可
		QPixmap cScaleMap = cMap.scaled(cSize, Qt::KeepAspectRatio);
		cCursor = QCursor(cScaleMap);
		//this->setCursor(Qt::CrossCursor); // 設定滑鼠為十字游標,精確選擇,系統自帶的圖示
		this->setCursor(cCursor);

參考:https://blog.csdn.net/Hello_Wendy/article/details/60872610?utm_source=blogxgwz4