QT如何自定义鼠标样式及如何用windows自带画图工具进行鼠标样式的设计

众所周知,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

猜你喜欢

转载自blog.csdn.net/birenxiaofeigg/article/details/83090062