달력

52024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

<< Previous


QML도 마우스와 키보드 입력 및 event를 처리할 수 있는 여러 객체( 인터페이스 )를 제공한다.

 Object Type

 설명

 MouseArea

 특정 아이템 내에 마우스 이벤트, 각 Object Type 안에 자식 객체로 선언하여 사용

 Keys

 키 입력을 조작하기 위해 제공하는 추가 프로퍼티

 KeyNavigatioin

 화살표 방향의 키 navigation을 지원

 MutiPointTouchArea

 멀티 터치 포인터를 조작하기 위한 활성화 처리

 Drag

 아이템의 Drag와 Drop을 지정하기 위한 타입

 DropArea

 특정 영역에서 Drag와 Drop을 지정하기 위한 타입

 TextInput

 사용자의 키 입력 처리

 TextEdit

 텍스트를 수정할 수 있는 Text Editor

 TouchPoint

 터치의 좌표와 관련한 정보를 포함하는 타입

 WheelEvent

 마우스 Wheel 이벤트와 관련한 정보를 제공

 MouseEvent

 마우스 이벤트와 관련한 정보를 제공

KeyEvent

 키 이벤트와 관련한 정보를 제공

 DragEvent

 Drag 이벤트와 관련한 정보를 제공

 ListView

 아이템을 리스트 형태로 만들 수 있도록 제공

PathView 

 아이템을 패스뷰 형태로 만들 수 있도록 제공


QML에서 이벤트는 객체 단위로 정의 사용할 수 있다. 

각각의 객체 안에 사용할 이벤트를 자식 객체로 선언하여 사용하는 방법이다.

Mouse와 Key, TextInput 의 예제를 살펴보자.



하나의 프로그램 중 여려개의 객체가 있다면 각 객체마다 마우스 / 키 이벤트를 가질 수 있다.

마우스 / 키 이벤트는 꼭 parent 객체를 가지고 있어야 하고 키 이벤트의 경우 parent 객체의 속성인 'focus'의 값이 'true'로 되어 있어야 한다.


MouseEvent Object Type

MouseArea Object에 대해서는 간략하게 알아봤으니 이번에는 MouseEvent Object를 살펴보자.

MouseArea 객체가 마우스를 핸들링하는 객체라면 MouseEvent 객체는 마우스 이벤트에 대한 정보를 제공하는 객체로서 마우스의 위치는 x 및 y 속성을 통해 찾을 수 있고 이벤트를 발생시키는 버튼은 button 속성을 통해 사용할 수 있다.

그렇다 MouseArea 객체는 onPress, onRelease, onClick 등의 특정 아이템 내의 마우스 이벤트에 대한 핸들링 객체이고 MouseEvent 객체는 마우스에 대한 정보를 제공한다. 마우스 휠에 대한 이벤트를 핸들링 하는 WheelEvent 객체는 또 따로 있다.




Keys Object Type

Item 의 Key 핸들링을 제공하는 객체다.

가장 기본적인 Item 객체를 포함하여 모든 시각적 Object Type은 Keys 객체를 사용하여 키 처리를 지원한다. 

Keys 객체는 onPressed 및 onReleased signal 속성을 통해 처리 할 수 있다.


signal 속성에는 이벤트의 세부 정보가 들어있는 event라는 이름의 KeyEvent 매개 변수가 있다. 

키가 처리되는 경우 event.accepted를 true로 설정하여 이벤트가 항목 계층을 따라 전파되지 않도록해야합니다.



TextInput Object Type

편집 가능한 텍스트 줄을 표시하는 객체로 한행을 표시한다. 멀티라인은 표시하지 않는다.

echoMode를 적절한 값으로 설정하면 TextInput을 암호 입력 필드로 사용할 수 있다.


생성 초기 기본적인 모슴,                                       키 입력을 받은 모습

      









Next >>

Posted by 생짜
|