Название: как узнать размеры курсора ? Отправлено: Exception13 от Июль 21, 2009, 15:13 Поиск по форуму ответа не дал, так что решил обратиться к сообществу...
Вобщем хочу узнать размер курсора мыши установленного для конкретного виджета. варианты типа: const QBitmap *bm = cursor().bitmap() bm->width(), bm->height() не прокатывают т.к. если в системе используется стандартный курсор, то "cursor().bitmap()" возвращает NULL. Может в QT есть что то типа GetSystemMetrics как в виндовсе ? Название: Re: как узнать размеры курсора ? Отправлено: Exception13 от Июль 27, 2009, 08:15 Видимо вопрос был совсем ламерский, никто не хочет отвечать :)
Ну и ладно, пойдем по пути наименьшего сопротивления и забъем в код фиксированные размеры курсора... Название: Re: как узнать размеры курсора ? Отправлено: BigZ от Июль 27, 2009, 08:45 Видимо вопрос был совсем ламерский, никто не хочет отвечать :) Прошу прощения, к делу по сути не относится, а в какой задаче может понадобиться получение Ну и ладно, пойдем по пути наименьшего сопротивления и забъем в код фиксированные размеры курсора... размеров курсора в рантайме? Название: Re: как узнать размеры курсора ? Отправлено: Exception13 от Июль 27, 2009, 16:33 У меня самописный компонент типа "шкала времени", при наведении курсора мыши на данный виджет, хотелось бы чтобы рядом с курсором появилось окно с датой/временем.
вобщем, что то типа toolTip'a. Думал все, что можно как то обычный toolTip прикрутить - но, что то ничего и не придумал. В конце концов сделал простенький widget для отображения даты/времени и стал его выводить рядом с курсором мыши. hotSpot у курсора известен, а вот его геометрия - нет. Размеры курсора мне бы хотелось узнать для того, чтобы вывести этот toolTip под стрелочкой мыши, но так, чтобы она его не перекрывала. Выглядит сие художество примерно так: Название: Re: как узнать размеры курсора ? Отправлено: spectre71 от Июль 27, 2009, 17:19 У меня самописный компонент типа "шкала времени", при наведении курсора мыши на данный виджет, хотелось бы чтобы рядом с курсором появилось окно с датой/временем. Воспользуйся QToolTip::showText; QToolTip::hideText;вобщем, что то типа toolTip'a. Думал все, что можно как то обычный toolTip прикрутить - но, что то ничего и не придумал. не перекрывала. Примерно так Код
Название: Re: как узнать размеры курсора ? Отправлено: BigZ от Июль 27, 2009, 22:48 У меня самописный компонент типа "шкала времени", при наведении курсора мыши на данный виджет, хотелось бы чтобы рядом с курсором появилось окно с датой/временем. Теперь понятно.вобщем, что то типа toolTip'a. Думал все, что можно как то обычный toolTip прикрутить - но, что то ничего и не придумал. В конце концов сделал простенький widget для отображения даты/времени и стал его выводить рядом с курсором мыши. hotSpot у курсора известен, а вот его геометрия - нет. Размеры курсора мне бы хотелось узнать для того, чтобы вывести этот toolTip под стрелочкой мыши, но так, чтобы она его не перекрывала. Выглядит сие художество примерно так: Название: Re: как узнать размеры курсора ? Отправлено: Exception13 от Июль 28, 2009, 09:13 Воспользуйся QToolTip::showText; QToolTip::hideText; А, не, я так уже пробовал, ToolTip всплывает ооооооооооочень ммееедленно, т.е. пока курсор мыши стоит в какой либо позиции достаточно длительное время - подсказка вылезает, а мне бы хотелось чтобы он следовал вместе с курсором мыши. Где определяется время задержки для данного компонента - я так и не нашел. Название: Re: как узнать размеры курсора ? Отправлено: spectre71 от Июль 28, 2009, 10:47 Воспользуйся QToolTip::showText; QToolTip::hideText; А, не, я так уже пробовал, ToolTip всплывает ооооооооооочень ммееедленно, т.е. пока курсор мыши стоит в какой либо позиции достаточно длительное время - подсказка вылезает, а мне бы хотелось чтобы он следовал вместе с курсором мыши. Где определяется время задержки для данного компонента - я так и не нашел.1) QToolTip::showText - всплывает сразу, при вызове! и по новым координатам если: - В данный момент нет видимого ToolTip ИЛИ - В данный момент есть видимый ToolTip, но с другим текстом! ИЛИ - В данный момент есть видимый ToolTip, с этим же текстом, но на другом виджите! 2) В остальных случаях изменений не будет 3) А вот hideText или что то же самое showText от пустой строки, всегда срабатывает с задержкой, но это меньшее из зол. 4) Ты либо вызывал QToolTip::showText на событие QEvent::ToolTip, либо делал виджету setToolTip, в этом случае и будет задержка! 5) Сделай простой тест и убедишься сам: Код
Название: Re: как узнать размеры курсора ? Отправлено: Exception13 от Июль 28, 2009, 13:37 О, спасибо, вот про эти если... я и не прочитал доку, сейчас глянул, действительно так и есть.
Еще раз спасибо тов. Spectre Название: Re: как узнать размеры курсора ? Отправлено: SASA от Июль 29, 2009, 14:50 И всё же, как узнать размеры курсора ?
Название: Re: как узнать размеры курсора ? Отправлено: spectre71 от Июль 30, 2009, 08:22 И всё же, как узнать размеры курсора ? Своего легко, по размерам Bitmap.Стандартных, видимо только по вбитым константам! |