PyQt5 Pixmap 来自内置游标

Posted

技术标签:

【中文标题】PyQt5 Pixmap 来自内置游标【英文标题】:PyQt5 Pixmap from Built in Cursor 【发布时间】:2016-01-30 22:36:19 【问题描述】:

我需要检索光标的像素图以设置拖放操作的默认光标。

drag = QtGui.QDrag(event.widget())
curs = QtGui.QCursor(QtCore.Qt.SizeHorCursor)
drag.setDragCursor(curs.pixmap()) # curs.pixmap() is returning a 0x0 pixmap

像 self.setCursor(curs) 这样的调用在小部件上工作得很好,当我将鼠标悬停在它们上时可以正确显示光标。然而,就像我说的,PyQt 似乎在将有效光标转换为像素图时搞砸了。

是否有快速解决此问题的方法,还是我只需要使用自己的光标图像?

【问题讨论】:

【参考方案1】:

API 似乎完全按照文档中的说明工作:

QPixmap QCursor::pixmap() 常量

返回光标像素图。这仅在光标是 像素图光标。

也就是说,如果您在构造函数中显式设置一个像素图,它只会返回一个像素图(位图也是如此)。

【讨论】:

啊,他们玩的把戏!谢谢,但是 QT 是否有一种访问系统默认光标所在目录的好方法? @ZackAllen。您可以查看 Qt 源代码以了解 QCursor 是如何做到的。我的预感是每个平台都会有非常不同的做事方式。 X11 具有 freedesktop 规格,但没有与 Windows 和 OSX 相当的功能。

以上是关于PyQt5 Pixmap 来自内置游标的主要内容,如果未能解决你的问题,请参考以下文章

Oracle PL/SQL 将游标(来自函数)中的每个值一一分配给另一个游标

如何使用来自普通游标的值打开 sys_refcursor?

PyQt5:QScrollArea 保持 Pixmap 纵横比

如何在 PL / SQL 中读取另一个游标内的游标

使用 QPainter 和 paintEvent 在 PYQT5 中的 QLabel 中包含的 Pixmap 上绘制圆圈

如何正确设置在 PyQt5 上缩放的 Pixmap?