Russian Qt Forum
Сентябрь 30, 2024, 16:34 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Кнопки на изображении  (Прочитано 3149 раз)
Martiro
Гость
« : Сентябрь 13, 2012, 13:34 »

На канве присутствует изображение. Изображение состоит из круга, поделенного на определенные области (не по секторам).
Нужно отлавливать нажатие мышки по какой-либо области.
Как это реализовать?
Сначала думал "разрезать" изображение и сделать его составным из нескольких QCanvasItem, но как их потом ровно разместить?
Может есть какой-то более простой и очевидный способ?
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Сентябрь 13, 2012, 13:43 »

Только недавно сам сталкивался с такой проблемой. Улыбающийся
http://www.prog.org.ru/index.php?topic=22613.msg159199#msg159199
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
trot
Гость
« Ответ #2 : Сентябрь 13, 2012, 17:42 »

Может есть смысл попробывать svg.
Записан
lighting
Гость
« Ответ #3 : Сентябрь 14, 2012, 11:10 »

Для сложных областей можно использовать цвет пикселя по которому кликнули для определения попадания в заданную область.
Записан
Bepec
Гость
« Ответ #4 : Сентябрь 14, 2012, 12:05 »

По ссылке Пантера расписано как вычислять в какой сектор ткнули мышой. Примерно 2 минуты на понимание и 1 изменённая строчка - и вы получаете функцию, возвращающую угол. И можете творить с ней всё что угодно.
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #5 : Сентябрь 14, 2012, 12:15 »

По ссылке Пантера расписано как вычислять в какой сектор ткнули мышой.

У автора не сектора
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.052 секунд. Запросов: 23.