是否可以使用 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 实现自定义标题栏和窗口框架? [复制]

是否可以使用命令提示符更改 Windows 光标方案?

处理拖动(来自 DragOver 事件)时是不是可以更改鼠标光标? [复制]

在鼠标光标平面上绘图或创建自定义动画系统光标?

PyQt4:创建返回参数的自定义对话框

pymongo - 使用自定义游标类