QCursor
класс предоставляет методы получить и установить QPixmap
или QBitmap
на курсоре. Я могу создать курсор из одной из стандартных фигур, например, Qt::ArrowCursor
, Однако, если я сделаю это, я не смогу получить растровое / растровое изображение курсора!
QCursor cursor(Qt::ArrowCursor);
qDebug() << cursor.pixmap().isNull()
<< cursor.bitmap()
<< cursor.mask();
Будет генерировать вывод
true 0x00 0x00
Я знаю, что в документации сказано, что это невозможно, но мне нужно получить растровое изображение / значок / изображение / анимацию / что угодно из определенного курсора.
Итак, есть ли способ получить значок стандартного курсора из Qt? Мне интересно, потому что если вы перетащите элемент из QListView
, он покажет оба, стандартный курсор и изображение того, что я перетаскиваю!
Просто и ясно, вы не можете.
QPixmap QCursor::pixmap() const
Возвращает растровое изображение курсора. Это верно только в том случае, если курсор является растровым курсором.
Причина в том, что для встроенных курсоров Qt просто просит операционную систему использовать эту конкретную форму с помощью символических констант, даже не обращаясь к фактическому растровому изображению.
Других решений пока нет …