| 
 | |||||||
| Как задать обработчик события клика мыши по определенному элементу или по определенной экранной области 
		  Время создания: 05.01.2018 16:58		  
		  Текстовые метки: qml, действие, обработчик, событие, клик, область, прямоугольник		  
		    Раздел: Компьютер - Программирование - Язык C++ (Си++) - Библиотека Qt - QML		   
		  Запись: xintrea/mytetra_syncro/master/base/1515160698h88hyucurr/text.html на raw.githubusercontent.com		  
 | |||||||
|  | |||||||
| Пусть есть некий элемент, например прямоугольник, при клике на который нужно выполнить какое-нибудь дествие. Как вызвать это действие? Классический путь следующий. Имеем некий прямоугольник: Rectangle { width: 100; height: 100; color: "blue" } Вовнутрь него нужно поместить невидимую область типа MouseArea, которая будет реагировать на клик мышкой. Делается это так: Rectangle { width: 100; height: 100; color: "blue" 
 MouseArea { anchors.fill: parent } } Данная область занимает все пространство прямоугольника, благодаря установке свойства anchors.fill: parent. Обработка клика по области MouseArea происходит с помощью свойства onClicked, внутри которого задается JavaScript код, который будет выполнен при клике на данную область: Rectangle { width: 100; height: 100; color: "blue" 
 MouseArea { anchors.fill: parent onClicked: { parent.x+=10; parent.y+=15; } } } Здесь для области MouseArea прямоугольник является родителем - parent, поэтому установка свойства parent.x+=10 сдвинет прямоугольник на 10 пикселей вправо и на 15 пикселей вниз. Следует понимать, что после того как прямоугольник сдвинулся, область, им занимаемая, тоже переместилась, и область MouseArea тоже переместилась. И в следующий раз клик будет обрабатываться только на области, занимаемой прямоугольником в текущий момент времени. | |||||||
| 
 Так же в этом разделе:
  
 | |||||||
|   | |||||||
| 
 | |||||||
| 
 |