是否可以使用 PyQt 创建自定义光标? [复制]
Posted
技术标签:
【中文标题】是否可以使用 PyQt 创建自定义光标? [复制]【英文标题】:Is it possible to create a custom cursor using PyQt? [duplicate] 【发布时间】:2019-03-13 06:56:37 【问题描述】:我想为我的程序使用更大版本的十字光标,但似乎我无法更改标准光标形状的规格(例如 QtCore.Qt.OpenHandCursor)。也就是说,我是否可以创建自定义版本的光标?比如,来自光标的 png 图像?
【问题讨论】:
【参考方案1】:图像应先使用 PIL 打开,转换为位图,然后实例化为光标。
代码如下:
from PIL import Image
from PIL.ImageQt import ImageQt
img = Image.open('cursor.png')
imgQ = ImageQt(img)
cursorBitmap = QtGui.QBitmap.fromImage(imgQ)
CURSOR_NEW = QtGui.QCursor(cursorBitmap)
编辑:正如@ekhumoro 在cmets 中指出的那样,它可以通过using Pixmap and combining it with QCursor 来实现,所以它看起来像:
CURSOR_NEW = QtGui.QCursor(QtGui.QPixmap('cursor.png'))
如果这导致错误,可能是因为代码找不到正确的文件,因此可能需要将正确的路径添加到代码中
【讨论】:
PIL 的所有内容有什么意义?所有that's required 都是QCursor(QPixmap('cursor.png'))
。
@ekhumoro 我一开始尝试了这个,但应用程序一直在崩溃。原来它正在寻找不同目录中的图像,并且需要完整路径才能正确定位图像以上是关于是否可以使用 PyQt 创建自定义光标? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 PyQt5 实现自定义标题栏和窗口框架? [复制]