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 将游标(来自函数)中的每个值一一分配给另一个游标
PyQt5:QScrollArea 保持 Pixmap 纵横比
使用 QPainter 和 paintEvent 在 PYQT5 中的 QLabel 中包含的 Pixmap 上绘制圆圈