2017-01-23 9 views
1

Как получить текущий размер курсора мыши, измеренный в пикселях? Я попробовал mywidget.cursor().pixmap().size(), но он возвращает (0,0) для стандартного курсора стрелки.Как получить размер текущего размера виджета в пикселях

(Мне нужно это, чтобы показать специальную метку наконечника инструмента, которая появится прямо под курсором и будет следовать курсору, и я не могу использовать стандарт QToolTip по определенным причинам - задержки и т. Д. У меня уже есть приятное рабочее решение, но если я отображаю метку точно в позиции курсора, курсор окрашивается поверх нее, скрывая какой-то текст на ярлыке. Конечно, я мог бы переместить его с помощью некоторого «магического» числа, такого как 32 пикселя, но это может вызвать у меня плохое чувство живота.)

ответ

0

Вы не можете делать это со стандартными курсорами. Методы QCursor работают только с пользовательскими растровыми изображениями или растровыми изображениями. Таким образом, вам придется либо использовать свои собственные курсоры, либо оценить размер.

Быстрый поиск в Интернете предполагает, что стандартные курсоры могут отличаться по размеру и нет фиксированного максимума (хотя это, вероятно, зависит от платформы). Например, на X11 диапазон размеров обычно включает 16, 24, 32, 48 и 64, но возможны другие размеры (даже до 512). Значение по умолчанию обычно равно 32.

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

+0

Спасибо. Я сделал исследование в Интернете с примерно таким же заключением. К сожалению, похоже, нет простого и точного решения. –