|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.08.2011, 12:30 | #1 |
Регистрация: 10.08.2011
Сообщений: 4
|
Определение объекта под курсором
Добрый день.
Вопрос в принципе по Qt, но интересуют все возможные реализации. Как определяется объект (например виджет на форме), на который наведен курсор. Перебор всех имеющихся объектов и сопоставление их координат/размеров с точкой курсора кажется слишком громоздким... |
10.08.2011, 13:45 | #2 |
Линуксоид
Участник клуба
Регистрация: 31.07.2009
Сообщений: 1,403
|
А как бы, по-твоему, называлась бы функция, которая возвращает указатель на объект, находящийся в позиции P?
Правильно, widgetAt(P).
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su |
10.08.2011, 14:46 | #3 |
Регистрация: 10.08.2011
Сообщений: 4
|
Интересует не функция, а технология. На самом низком уровне.
Грубо говоря: есть множество геометрических объектов на плоскости. Случайным образом падает точка (курсор). Как опеределяется в какой она попала? Последний раз редактировалось woodsnake; 10.08.2011 в 14:49. |
11.08.2011, 06:39 | #4 |
Линуксоид
Участник клуба
Регистрация: 31.07.2009
Сообщений: 1,403
|
BSP-деревья: http://ru.wikipedia.org/wiki/%D0%94%...82%D0%B2%D0%B0
Но в случае виджетов, используется не оно. Оно используется в Scene-View.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su |
11.08.2011, 12:09 | #5 |
Регистрация: 10.08.2011
Сообщений: 4
|
Хорошая статьтя, спасибо!
Здесь скорее в более общем: http://ru.wikipedia.org/wiki/Обнаружение_столкновений Хотя, по-сути, сводится все равно к перебору... Последний раз редактировалось woodsnake; 11.08.2011 в 12:32. |
11.08.2011, 13:38 | #6 |
Линуксоид
Участник клуба
Регистрация: 31.07.2009
Сообщений: 1,403
|
Конкретно в Scene-View в Qt по умолчанию используются BSP-деревья. А вообще, исходники открыты, сами можете посмотреть и на QCoreApplication::widgetAt, и на QGraphicsScene::itemAt.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su |
15.08.2011, 13:34 | #7 |
Регистрация: 10.08.2011
Сообщений: 4
|
Поиск окна, в которое тыкнули мышкой реализуется ОС: в винде используется функция WindowFromPoint.
Поиск виджета в окне в Qt реализовано перебором... =( Остаётся вопрос реализации WindowsFromPoint. Какие аналогичные функции есть в других ОС и как они работают? |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Слово под курсором | Vikenty | Общие вопросы Delphi | 4 | 12.04.2011 23:58 |
перемещение объекта за курсором мышки | eu8cc | Общие вопросы Delphi | 2 | 28.09.2009 22:48 |
Координаты под курсором на TChart | tvorec2008 | Помощь студентам | 0 | 18.09.2009 20:18 |
Получение слова под курсором. | lazutov | Win Api | 4 | 15.08.2008 17:10 |
окно под курсором | mrandrey | Win Api | 1 | 11.05.2007 18:30 |