2014-01-19 2 views
0

Kivy Button 위젯은 일반 및 다운 상태에서 배경 이미지를 설정하기위한 background_normalbackground_down 속성을가집니다. 그들을 수정하는 Image 클래스 인스턴스로 액세스 할 수있는 방법이 있습니까? 또는 배경의Kivy : 액세스 버튼 이미지 객체

  • 크기
  • 위치
  • 반복 직접 조작 (X/Y)
  • 불투명
  • 화면 비율

등 일부 API가?

답변

2

아니요, 실제로는 이미지 위젯이 아니고 그래픽 명령으로 구현되어있어 액세스 할 수 없습니다. 관심이 있으시면 https://github.com/kivy/kivy/blob/master/kivy/data/style.kv#L18에서 확인할 수 있습니다.

다른 동작을 원하면 고유 한 ImageButton 종류의 클래스를 만드는 것이 좋습니다. 현재 개발중인 Kivy (1.8, 곧 출시 예정)에는 touch 및 on_press 이벤트 등을 포함/관리하는 ButtonBehavior 클래스의 버튼 동작을 추상화하여 특히 쉽게 변경할 수있는 몇 가지 변경 사항이 포함되어 있습니다. class ImageButton(ButtonBehavior, Image)과 같은 것으로, 버튼과 똑같은 터치 상호 작용으로 이미지를 얻을 수 있습니다.하지만이 예에서는 원할 경우 배경을 직접 관리해야합니다. 비슷한 원칙을 통해 다른 위젯을 만들 수도 있습니다.

자신 만의 위젯을 만들면 문제가되는 속성을 쉽게 제어 할 수 있습니다. 물론 컨트롤 할 수있는 컴포넌트 위젯에서 버튼을 빌드하면 크기와 위치가 손쉽게 관리됩니다. 반복은 이미지의 텍스처를 수정하여 제어 할 수 있습니다 ('wrap'속성 참조). 이미 알고있을지라도. 불투명도는 이미 모든 위젯의 제어 가능한 속성이며, 물론 종횡비는 Image 속성으로 표시됩니다.

전체적으로 아마도 가장 좋은 방법은 이미지에서 자신의 위젯을 만들고 터치 상호 작용을 추가하는 것입니다. Kivy 1.8에서는 ButtonBehavior를 사용하여 쉽게 사용할 수 있습니다. 1.7에서는 투명한 버튼을 이미지 위에 놓는 것이 가장 쉽습니다.