Можно ли создать собственный курсор с помощью PyQt?

Я хотел использовать большую версию курсора с перекрестием для своей программы, но кажется, что я не могу изменить спецификации стандартных форм курсора (например, 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)

edit: как @ekhumoro указал в комментариях, это может быть достигнуто с помощью Pixmap и объединения его с QCursor, так что это будет выглядеть так:

CURSOR_NEW = QtGui.QCursor(QtGui.QPixmap('cursor.png'))

если это вызывает ошибку, это может быть связано с тем, что код не может найти правильный файл, поэтому, возможно, необходимо добавить правильный путь к коду

Другие вопросы по тегам