Qt: Получить стандартное растровое изображение курсора

QCursor класс предоставляет методы получить и установить QPixmap или QBitmap на курсоре. Я могу создать курсор из одной из стандартных фигур, например, Qt::ArrowCursor, Однако, если я сделаю это, я не смогу получить растровое / растровое изображение курсора!

QCursor cursor(Qt::ArrowCursor);
qDebug() << cursor.pixmap().isNull()
<< cursor.bitmap()
<< cursor.mask();

Будет генерировать вывод

true 0x00 0x00

Я знаю, что в документации сказано, что это невозможно, но мне нужно получить растровое изображение / значок / изображение / анимацию / что угодно из определенного курсора.

Итак, есть ли способ получить значок стандартного курсора из Qt? Мне интересно, потому что если вы перетащите элемент из QListView, он покажет оба, стандартный курсор и изображение того, что я перетаскиваю!

2

Решение

Просто и ясно, вы не можете.

QPixmap QCursor::pixmap() const

Возвращает растровое изображение курсора. Это верно только в том случае, если курсор является растровым курсором.

Причина в том, что для встроенных курсоров Qt просто просит операционную систему использовать эту конкретную форму с помощью символических констант, даже не обращаясь к фактическому растровому изображению.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]